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

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

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

Если интересно, то это работа с базой диасофта
...
Рейтинг: 0 / 0
26.06.2012, 17:32
    #37855594
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
ifrankiпишет что не может найти сервер. Мож я что не так делаю?
Да при чём тут диасофт, если подключиться на можешь? Попробуй без пробелов например.
...
Рейтинг: 0 / 0
26.06.2012, 17:58
    #37855664
ifranki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
выгрузить получилось, а вот при загрузве выдает что не можкт найти сервак, странно..
...
Рейтинг: 0 / 0
26.06.2012, 18:01
    #37855671
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
может bcp не из той папки запускается? )))
...
Рейтинг: 0 / 0
26.06.2012, 18:01
    #37855673
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
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
27.06.2012, 13:45
    #37856920
ifranki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
Разобрался! Всем спасибо!
Теперь еще один вопрос: после вставки там где должны быть русские буквы отображаются кракозябры. Как с этим быть?
Походу разные кодировки у серверов.
...
Рейтинг: 0 / 0
27.06.2012, 14:19
    #37856996
ifranki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
И еще вопрос. Одну таблицу конечно хорошо перенести, но в базе 6000 таблиц. Как автоматизировать процесс кто подскажет?
...
Рейтинг: 0 / 0
27.06.2012, 14:29
    #37857023
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
ifrankiИ еще вопрос. Одну таблицу конечно хорошо перенести, но в базе 6000 таблиц. Как автоматизировать процесс кто подскажет?
эксель в помощь

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

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

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

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

В некоторых полях базы хранятся табы
...
Рейтинг: 0 / 0
29.06.2012, 14:22
    #37860379
ifranki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
разобрался!
-t разделить записей
-r разделитель строк
...
Рейтинг: 0 / 0
02.07.2012, 11:18
    #37862578
ifranki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
Подскажите еще пожалуйста по следующему вопросу:
Проблема с датами, выгружаю с помощью bcp в файл, дата выгружается так: Sep 1 2007 10:43:51:216AM
Когда заливаю на sql server эта дата при селекте выглядит так: 01.09.2007 10:44:00.000
Как привести к одному формату?
...
Рейтинг: 0 / 0
02.07.2012, 12:13
    #37862696
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
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
18.07.2012, 14:23
    #37883762
ifranki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
Подскажите по следующему вопросу:

Например мы делаем 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
18.07.2012, 18:22
    #37884335
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
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
07.08.2012, 17:13
    #37907681
Badger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Миграция с sybase на MSSQL SERVER 2005
ifrankiИ еще вопрос. Одну таблицу конечно хорошо перенести, но в базе 6000 таблиц. Как автоматизировать процесс кто подскажет? Выгрузить все таблици можно этим скриптом asedump.zip
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Миграция с sybase на MSSQL SERVER 2005 / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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