powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Миграция с sybase на MSSQL SERVER 2005
24 сообщений из 24, страница 1 из 1
Миграция с sybase на MSSQL SERVER 2005
    #37853328
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос к профессионалам области, как быстро перенести данные из субд sybase в субд mssql server2005? Структура, схема бд созданы! Надо только перетащить данные из таблиц. Объем суммарных данных примерно 250 миллионов записей
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37853330
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия SYBASE 12.5.2
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37853910
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В обратном направлении (bcp out - bcp in) около часа.
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37854110
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifranki, насколько структуры совпадают?

Впрочем как-то решал похожую задачу.
Из-за различий структуры в целом и типов в частности (ну и желания решить задачу почти в общем виде), написалась проца, которая генерит скрипты заполнения вида insert ... values, потом эти скрипты пачкой исполнялись.
Правда всё равно из-за фреймворка проца опиралась на некоторые предположения, присущие конкретному проекту.
Но там с отладкой всех тонкостей - работы на пару дней максимум, так что ноги в руки и вперёд.
Если удастся достучаться из новой БД в старую - тогда просто insert .. select (опять же если структура позволит).
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37855395
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВ обратном направлении (bcp out - bcp in) около часа.
+1
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37855583
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Структуры совпадают полностью, перенесены все пользовательские типы данных, настройки сервера, таблицы и т.п.

Как пользоваться bcp?
Я пытался с помощью нее, но чет не получилось. Писал команду:
BCP workdb.dbo.tInstitution out 1.txt -c -S baza -U sa -P
пишет что не может найти сервер. Мож я что не так делаю?

Если интересно, то это работа с базой диасофта
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37855594
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiпишет что не может найти сервер. Мож я что не так делаю?
Да при чём тут диасофт, если подключиться на можешь? Попробуй без пробелов например.
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37855664
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выгрузить получилось, а вот при загрузве выдает что не можкт найти сервак, странно..
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37855671
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может bcp не из той папки запускается? )))
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37855673
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiСтруктуры совпадают полностью, перенесены все пользовательские типы данных, настройки сервера, таблицы и т.п.

Как пользоваться bcp?
Я пытался с помощью нее, но чет не получилось. Писал команду:
BCP workdb.dbo.tInstitution out 1.txt -c -S baza -U sa -P
пишет что не может найти сервер. Мож я что не так делаю?

Если интересно, то это работа с базой диасофта

как пользоваться BCP очень хорошо раскрывает документация
тонкий момент в твоей задаче - выгружать будешь bcp от Sybase, а загружать - bcp от MS

Sybase BCP
MS BCP
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37856920
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался! Всем спасибо!
Теперь еще один вопрос: после вставки там где должны быть русские буквы отображаются кракозябры. Как с этим быть?
Походу разные кодировки у серверов.
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37856996
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вопрос. Одну таблицу конечно хорошо перенести, но в базе 6000 таблиц. Как автоматизировать процесс кто подскажет?
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37857023
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiИ еще вопрос. Одну таблицу конечно хорошо перенести, но в базе 6000 таблиц. Как автоматизировать процесс кто подскажет?
эксель в помощь

выгружаешь список таблиц в один столбец,
в втором собираешь команду на выгрузку для одной таблицы
растягиваешь эту ячейку на все записи
в третьем собираешь команду на заливку для одной таблицы
растягиваешь эту ячейку на все записи
итого:
во втором столбце получаешь тело батника на выгрузку всех таблиц
в третьем - на заливку

либо, используя TSQL делаешь всё то же самое на Sybase используя селекты с конкатенацией
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37857027
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiРазобрался! Всем спасибо!
Теперь еще один вопрос: после вставки там где должны быть русские буквы отображаются кракозябры. Как с этим быть?
Походу разные кодировки у серверов.
используй ключи -J для Sybase и -C для MSSQL
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37857073
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага, -С1251 корректно отработало

Теперь последняя проблема, как выгрузить сразу по всем таблицам?
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37857089
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiкак выгрузить сразу по всем таблицам?
сгенери текст запуска bcp как разультат выполнения select-а над списком нужных таблиц
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37857482
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiага, -С1251 корректно отработало

Теперь последняя проблема, как выгрузить сразу по всем таблицам?
это я кому писал?
12782848
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37860290
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла другая проблема. Выгрузил, загрузил, но:
как сделать разделитель строк не символ таба, а например '^'?

В некоторых полях базы хранятся табы
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37860379
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разобрался!
-t разделить записей
-r разделитель строк
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37862578
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите еще пожалуйста по следующему вопросу:
Проблема с датами, выгружаю с помощью bcp в файл, дата выгружается так: Sep 1 2007 10:43:51:216AM
Когда заливаю на sql server эта дата при селекте выглядит так: 01.09.2007 10:44:00.000
Как привести к одному формату?
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37862696
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiПодскажите еще пожалуйста по следующему вопросу:
Проблема с датами, выгружаю с помощью bcp в файл, дата выгружается так: Sep 1 2007 10:43:51:216AM
Когда заливаю на sql server эта дата при селекте выглядит так: 01.09.2007 10:44:00.000
Как привести к одному формату?

так попробуй

Код: sql
1.
select top 100 CONVERT(varchar(20),FIELD,109) from TABLE
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37883762
ifranki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите по следующему вопросу:

Например мы делаем extract таблицы, в нем соответственно create это таблицы и гранты.
GRANT SELECT ON dbo.tUser TO public
go

Вопрос в следующем:
1) как мне и каким скриптом вытащить только эти гранты для всех таблиц?

2) как переделать GRANT TRUNCATE TABLE ON dbo.pAccrualParams TO public под MSSQL? sql server не воспринимает TRUNCATE

3)как переделать GRANT UPDATE STATISTICS ON dbo.pAccrualParams TO public под MSSQL? sql server не воспринимает UPDATE
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37884335
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiВопрос в следующем:
1) как мне и каким скриптом вытащить только эти гранты для всех таблиц?
Вариантов собственно говоря два: запустить sp_helprotect 'table' и разобрать ее вывод. Либо написать немаленький запрос на основе нескольких системных таблиц.

Когда-то у меня была задача: найти все таблицы в базе данных, которые содержат поле под названием AБВГД и на которые у меня (юзера который запускает скрипт) есть разрешение на чтение. В итоге получилось вот такое:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select OwnerName = u.name, TableName=o.name
from %1.dbo.syscolumns c
join %1.dbo.sysobjects o on o.id=c.id and o.type='U'
join %1.dbo.sysusers u on o.uid=u.uid
join %1.dbo.sysusers su on
         su.suid=suser_id() or
         su.suid=(select altsuid
                  from %1.dbo.sysalternates where suid=suser_id()) or
          su.suid=-1
join %1.dbo.sysusers g on g.uid=su.uid
join %1.dbo.sysprotects p on
                   o.id=p.id and p.action=193 and
                   p.protecttype<2 and
                   (p.uid=g.gid or p.uid=su.uid or p.uid=0)
where c.name=%2


Здесь %1 - имя базы, и %2 - имя поля.

ifranki2) как переделать GRANT TRUNCATE TABLE ON dbo.pAccrualParams TO public под MSSQL? sql server не воспринимает TRUNCATE

3)как переделать GRANT UPDATE STATISTICS ON dbo.pAccrualParams TO public под MSSQL? sql server не воспринимает UPDATEА с этим иди в MS SQL форум.
...
Рейтинг: 0 / 0
Миграция с sybase на MSSQL SERVER 2005
    #37907681
Фотография Badger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ifrankiИ еще вопрос. Одну таблицу конечно хорошо перенести, но в базе 6000 таблиц. Как автоматизировать процесс кто подскажет? Выгрузить все таблици можно этим скриптом asedump.zip
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Миграция с sybase на MSSQL SERVER 2005
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]