Дублировать данные из одной таблицы БД в другую таблицу БД? - PullRequest
0 голосов
/ 08 ноября 2010

Я хочу скопировать таблицу DOG из БД ANIMAL1 и скопировать / создать данные в таблицу DOG в БД ANIMAL2.

Таблица также должна дублировать все идентификаторы строк (первичного ключа).

Как мне это сделать?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 08 ноября 2010

Если два сервера находятся в одной сети, вы можете создать «связанный сервер», например, с вашего целевого сервера на исходный сервер, и затем вы можете написать что-то вроде:

INSERT INTO dbo.DOG(list of columns)
   SELECT (list of columns)
   FROM SourceServer.ANIMAL2.dbo.DOG

Если вашИдентификатор - IDENTITY, необходимо включить IDENTITY_INSERT перед командой:

SET IDENTITY_INSERT dbo.DOG ON

INSERT INTO dbo.DOG(list of columns)
   SELECT (list of columns)
   FROM SourceServer.ANIMAL2.dbo.DOG

SET IDENTITY_INSERT dbo.DOG OFF

и выключить его после выполнения команды INSERT.

1 голос
/ 08 ноября 2010

в дополнение к ответу marc_s вы также можете экспортировать и импортировать данные с помощью мастера SSMS.

1 голос
/ 08 ноября 2010

BCP будет работать нормально, я думаю. ясно, что если таблица уже содержит строки в целевом объекте и вы добавляете больше строк из источника, она будет жаловаться, если вы нарушите противопоставление первичного ключа

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...