2009-08-19 211 views
5

我有一个针对本地数据库运行的存储过程,并填充临时表。然后,我想连接到远程数据库,并根据本地temptables的值查询它。那可能吗?跨两个连接的SQL查询?

谢谢。

回答

2

我认为你需要设置一个链接服务器。

7

是的。您可以创建到其他服务器的链接服务器,然后对同一批次中的其他服务器执行链接服务器查询。具体方法如下:

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) 

插上服务器名称,请确保您的登录凭据两台服务器上运行,并按照最后一行4部分的命名方案。