2009-08-19 104 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部分的命名方案。