2009-05-29 8 views
3

est-il possible de créer une vue qui sélectionne à partirInterrogation plusieurs bases de données sur SQL Server

  1. plusieurs tables
  2. dans différentes bases de données
  3. sur différents serveurs
  4. utilisant différents identifiants de connexion

Quelqu'un peut-il pointer vers des exemples en ligne.

Ou est-il possible que je peux le faire en utilisant Linq si je ne peux pas créer une vue

Répondre

6

Oui, vous aurez envie d'utiliser quelque chose appelé un serveur lié:

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

Vous » Il va falloir être administrateur de base de données pour le configurer, cependant.

Si vous ne pouvez pas créer une vue, vous devez effectuer deux requêtes LINQ to SQL distinctes à l'aide de deux DataContexts distincts, puis appeler .ToList() ou. ToArray() sur les résultats, puis rejoignez-les dans une troisième requête LINQ. Cela fonctionnera correctement tant que vous pouvez limiter chaque requête à un nombre relativement faible d'éléments (sous, disons, 1000 ou plus à partir de chaque requête LINQ).

4

Ce type d'implémentation/technique est également utilisé dans Federated Database Servers pour répartir la charge de traitement des systèmes de base de données SQL Server à grande échelle.

Voir les suivantes Livres de référence en ligne pour plus de détails:

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

Selon l'instruction des affiches préalable concernant la configuration des serveurs liés, vous devrez ensuite créer vues partitionnées, plus de détails peuvent être on dans Livres en ligne sous le sous-titre «Vues partitionnées»:

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

Questions connexes