2011-02-11 114 views

回答

2
Select * From ServerName1.DbName1.SchemaName1.TableName1 

從其他服務器應該爲您獲取數據。

所有你需要做的是使用完整的SQL對象命名約定

這是

[ServerName].[DbName].[SchemaName].[TableName] 
1

如果服務器沒有聯繫,你可能想看看「SQL Server Import and Export Wizard」,通過右鍵單擊數據庫,然後選擇任務 - >導出數據發現。

這是通過建立一個SSIS包,(如果你經常這樣做,任務),你可能希望保存

0

,你必須首先創建一個鏈接的服務器。

爲SQL Server 2012將是: -

USE [master] 
GO 

EXEC master.dbo.sp_addlinkedserver @server = N'<SERVERNAME>', @srvproduct=N'SQL Server' 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'<SERVERNAME>',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'<SERVERNAME>',@useself=N'False',@locallogin=N'sa',@rmtuser=N'sa',@rmtpassword='########' 
GO 

EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'collation compatible', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'data access', @optvalue=N'true' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'dist', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'pub', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'rpc', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'rpc out', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'sub', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'connect timeout', @optvalue=N'0' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'collation name', @optvalue=null 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'lazy schema validation', @optvalue=N'false' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'query timeout', @optvalue=N'0' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'use remote collation', @optvalue=N'true' 
GO 
EXEC master.dbo.sp_serveroption @server=N'<SERVERNAME>', @optname=N'remote proc transaction promotion', @optvalue=N'true' 
GO 

那麼你可以使用每個表從鏈接服務器使用完整的SQL對象命名約定喜歡提的服務器名稱: -

select * 
from [server1].[database].[schema].[table] as t1 
inner join [server2].[database].[schema].[table] as t2 
    on t1.columnname = t2.columnname 
相關問題