2009-08-19 5 views
5

J'ai une procédure stockée qui s'exécute sur une base de données locale et remplit une table temporaire. J'aimerais ensuite me connecter à une base de données distante et l'interroger en fonction des valeurs des tenttables locales. Est-ce possible?Requête SQL sur deux connexions?

Merci.

Répondre

2

Je pense que vous devez configurer un serveur lié.

7

Oui, c'est le cas. Vous pouvez créer un serveur lié à l'autre serveur, puis effectuer une requête de serveur lié à l'autre serveur dans le même lot. Voici comment:

USE [master] 
GO 
--Add linked server 
EXEC master.dbo.sp_addlinkedserver @server = N'ServerName', @srvproduct=N'SQL Server' 
GO 
--Add login info 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ServerName', @locallogin = NULL , @useself = N'True' 
GO 



--Using Linked server 
USE [UserDB] 
Create Table #Test 
(
    Test int not null 
); 

insert into #Test 
select 1 


select * 
from ServerName.DBName.dbo.Table 
where Col1 in (select Test from #Test) 

Branchez le nom du serveur, assurez-vous que vos informations de connexion fonctionnent sur les deux serveurs, et suivez le schéma de nommage 4 partiel sur la dernière ligne.

Questions connexes