SQL Server 2008: как скопировать данные из таблицы в DB1 в таблицу в DB2? - PullRequest
1 голос
/ 21 октября 2010

У меня две одинаковые базы данных на одном сервере.В процессе развертывания у меня есть данные в таблицах в базе данных A, которые необходимо скопировать в таблицы в базе данных B. Какой самый простой способ программно выполнить эту задачу?

EDIT:

  • Таблицы имеют столбцы идентификаторов.
  • Существуют таблицы с ограничениями внешнего ключа, поэтому порядок вставки важен.
  • Все строки необходимо будет скопировать.Насколько я знаю, так будет всегда.

Ответы [ 2 ]

4 голосов
/ 22 октября 2010

Предполагая, что таблицы не имеют столбцов идентификаторов и принадлежат схеме по умолчанию (dbo), попробуйте запрос вставки TSQL ниже:

Insert Into DatabaseB.dbo.DestinationTable
Select * From DatabaseA.dbo.SourceTable

Если у вас есть столбец идентификаторов, выполните приведенные ниже операторы

    SET IDENTITY_INSERT DatabaseB.dbo.DestinationTable ON
GO

        Insert Into DatabaseB.dbo.DestinationTable
        Select * From DatabaseA.dbo.SourceTable
GO

    SET IDENTITY_INSERT DatabaseB.dbo.DestinationTable OFF
GO
2 голосов
/ 22 октября 2010

Если базы данных находятся на разных серверах:

exec sp_addlinkedserver ServerA

Insert Into DatabaseB.dbo.DestinationTable
Select * From ServerA.DatabaseA.dbo.SourceTable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...