Обновить объект из двух разных таблиц базы данных - PullRequest
0 голосов
/ 14 марта 2012

У меня есть две таблицы в двух разных базах данных SQL Server на разных серверах.Каждая таблица имеет одинаковое количество строк (каждая ~ 65000), и они связаны общим столбцом ID.Я создал объект, свойства которого считываются и обновляются из этих двух таблиц.

Я считываю все элементы из первой таблицы и создаю экземпляр своего объекта, а затем обновляю его свойства.Затем я добавляю его в список.После того, как это сделано, я читаю из второй таблицы, чтобы обновить оставшиеся свойства объекта.

Что может быть лучшим способом сделать это?Есть ли у вас предложения?В этот момент я перебираю свой список и для каждого объекта в списке получаю данные со второго сервера.Конечно, это занимает много времени (~ 15 минут).

Например, возможно ли создать временную таблицу на одном из серверов?Время, которое я потребляю, у меня в цикле.Время, потраченное на получение данных с этих двух серверов, подходит мне.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Решением может быть создание связанного сервера:

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

Используя этот метод, вы можете ссылаться на базу данных с другого сервера, как если бы она находилась на одном сервере.Это должно позволить вам выполнить объединение, чтобы завершить набор данных.

0 голосов
/ 14 марта 2012

Лучший подход - добавить один из серверов в качестве связанного сервера, используя sp_addlinkedserver , тогда вы можете выполнить свой запрос к одному из серверов (объединяя обе таблицы общим полем) и получить все в одном выстрел.

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