Voici un exemple ...
Se connecter au premier serveur et exécuter ce script
CREATE DATABASE [DatabaseA];
GO
CREATE TABLE [DatabaseA].[dbo].[TableA] (Id int, ValueA varchar(10));
INSERT INTO [DatabaseA].[dbo].[TableA] VALUES(1,'a'),(2,'b'),(3,'c');
Connectez ensuite au deuxième serveur, et exécuter cette
CREATE DATABASE [DatabaseB];
GO
CREATE TABLE [DatabaseB].dbo.[TableB] (Id int, ValueB varchar(10));
INSERT INTO [DatabaseB].dbo.[TableB] VALUES(1,'A'),(2,'B'),(3,'B');
Dans la connexion au premier serveur, nous créons un lien vers e deuxième comme celui-ci
EXEC master.dbo.sp_addlinkedserver
@server = N'LINKTOB'
,@srvproduct=N'B'
,@provider=N'SQLOLEDB'
,@datasrc=N'<NAME OF SERVER CONTAINING DatabaseB>';
Notez que vous devez modifier la valeur de @datasrc en fonction de votre environnement.
Maintenant, nous pouvons sur le premier serveur exécuter une requête comme celui-ci, en utilisant les données des deux serveurs distincts dans la même requête
SELECT
a.Id
,a.ValueA
,b.ValueB
FROM
[DatabaseA].[dbo].[TableA] AS a
INNER JOIN [LINKTOB].[DatabaseB].[dbo].[TableB] AS b ON a.Id = b.Id
Le résultat devrait ressembler à ceci
Si les deux serveurs sont dans le même domaine avec les mêmes paramètres de sécurité, tout devrait fonctionner sans autre changement. Sinon, jetez un oeil à Management Studio sous Objets serveur - Serveurs liés - LINKTOB. Ouvrez les propriétés pour LINKTOB et jetez un oeil à la Sécurité -tab.
Je pense que cela pourrait fonctionner avec des serveurs liés. Voir ici: http://msdn.microsoft.com/en-us/library/ms190479.aspx – sofl
duplication possible de [Exemple de serveur SQL Server lié] (http://stackoverflow.com/questions/4091960/sql-server -linked-server-exemple-query) et http://stackoverflow.com/questions/10402197/how-to-create-the-linked-server-for-sql-server-2008-where-we-have-the- base de données-f –