Лучший способ передачи данных из одной базы данных (SQL Server 2008) в другую базу данных (SQL Server 2008) с другой схемой - PullRequest
3 голосов
/ 20 октября 2010

Каков наилучший способ переноса данных из одной базы данных (SQL Server 2008) в другую базу данных (SQL Server 2008) с другой схемой?

есть ли программа для этого?

спасибо 4, ваш будущий ответ

С наилучшими пожеланиями

Ответы [ 3 ]

3 голосов
/ 20 октября 2010

Я бы использовал SSIS (который поставляется с сервером SQL), чтобы сделать это. Однако это не будет легкой или быстрой задачей. Преобразование из одной схемы в другую может занять очень много времени, и вы почти наверняка найдете данные, которые не соответствуют одной схеме другой, с которыми вам приходится иметь дело. Например, если в первой схеме поле имеет тип varchar, а во второй - datetime, вам почти наверняка придется исключить неправильные значения (например, «как можно скорее»), что может стать проблемой, особенно если поле является обязательным полем. На самом деле вам также придется иметь дело с этими типами несоответствий - если это не требовалось и сейчас, какое значение вы вкладываете туда для записей, где оно в настоящее время равно null. Что вы делаете, когда размеры полей не совпадают, возможно, вам придется обрезать данные. Если у вас есть разные значения поиска от одного к другому, вам нужна таблица преобразования. Вам может понадобиться таблица преобразования, чтобы связать старые и новые поля id, чтобы вы могли правильно загрузить дочерние таблицы. Это очень сложная задача.

3 голосов
/ 20 октября 2010

В зависимости от того, насколько сложны ваши потребности, вы можете захотеть использовать SSIS .

1 голос
/ 14 января 2012

Свяжите исходный сервер с сервером dest. Затем вы можете с сервера dest выполнять ваши собственные запросы, такие как

INSERT INTO Destination_Table (col1, col2, col3)
    SELECT colA, colB, colC
    FROM [SRC_MACHINE\SRC_SERVER].Source_Database.dbo.Source_Table

Если вам удобно писать запросы, вы можете включить все свои преобразования данных (если они вам нужны) во вложенный SELECT и поиграть с соединениями и прочим, чтобы выбранная структура данных соответствовала схеме назначения.

Выполняется, даже если на обоих серверах работает SQL Server Express (который не поставляется с SSIS). Документация по связыванию серверов

...