Выберите записи из базы данных в одном домене, чтобы вставить их в базу данных в другом домене - PullRequest
0 голосов
/ 11 ноября 2010

Допустим, у меня есть таблица с именем MessageLog:

MessageLog
==========
MessageLogID int (Identity)
Message text

У меня одна и та же таблица, настроенная в разных базах данных на разных машинах в разных доменах:

Domain           Machine          SQLServername      Database      Table
=============================================================================
Production       ProdSql1                            AppDB         MessageLog
Dev              DevSql           Sql2k5             AppDB         MessageLog

IЯ могу видеть домен Dev из домена Production, но я не вижу домен Production из домена Dev.Это означает, что мне придется работать в домене Production.

Как мне написать запрос, который выбирает записи MessageLog из Production и вставляет их в Dev?

В псевдо-SQL я представляю что-то вроде этого:

Select Message From AppDb.dbo.MessageLog
Into Dev.DevSql\Sql2k5.AppDb.dbo.MessageLog

Ответы [ 2 ]

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

Вы хотите настроить Экземпляр связанного сервера в экземпляре Production, который указывает на экземпляр Development с использованием учетной записи в экземпляре Development с привилегией INSERT для соответствующих таблиц. Брандмауэр / сетевой доступ, обеспечивающий ...

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

INSERT INTO development.appdb.dbo.messagelog
SELECT message 
  FROM appdb.dbo.messagelog

Синтаксис SELECT ... INTO ... в TSQL / SQL Server требует, чтобы таблица еще не существовала.

0 голосов
/ 11 ноября 2010

Если у вас есть правильные настройки сети и брандмауэра, вы создадите связанный сервер на рабочем месте, который указывает на dev, и выполните запрос, который вы использовали в качестве примера

http://msdn.microsoft.com/en-us/library/ff772782.aspx

Делать вашу среду разработки видимой с производства не кажется хорошей идеей, поскольку существует потенциал для демонстрации данных разработки в производстве.

А как насчет задания, которое сбрасывает таблицу MessageLog в файл, копирует ее куда-нибудь, где DEV может получить к ней доступ, а затем загружает ее на сервер dev?

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