Запрос нескольких баз данных на SQL Server - PullRequest
3 голосов
/ 29 мая 2009

возможно ли создать вид, который выбирает из

  1. несколько таблиц
  2. в разных базах данных
  3. на разных серверах
  4. с использованием разных учетных данных

Может кто-нибудь указать на какие-нибудь онлайн примеры.

Или я могу сделать это с помощью Linq, если не могу создать представление

Ответы [ 2 ]

6 голосов
/ 29 мая 2009

Да, вы захотите использовать то, что называется связанным сервером:

http://www.databasejournal.com/features/mssql/article.php/3085211/Linked-Servers-on-MS-SQL-Part-1.htm

Однако для его настройки вам нужно быть администратором базы данных.

Если вы не можете создать представление, вам придется выполнить два отдельных запроса LINQ to SQL, используя два отдельных DataContexts, а затем вызвать .ToList () или. ToArray () на результаты, а затем объедините их в третьем запросе LINQ. Это будет работать нормально, если вы можете ограничить каждый запрос относительно небольшим количеством элементов (скажем, 1000 или около того из каждого запроса LINQ).

4 голосов
/ 29 мая 2009

Этот тип реализации / методика также используется в Федеративных серверах баз данных для распределения нагрузки обработки крупномасштабных систем баз данных SQL Server.

Для получения более подробной информации см. Следующую книжную онлайн-справку:

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

В соответствии с предыдущей инструкцией по настройке связанных серверов вам впоследствии потребуется создать Разделенные представления , более подробную информацию можно найти в Books Online под заголовком «Разделенные представления»:

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

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