SQL Server 連結伺服器(Linked Servers)

路小乙發表於2024-08-29

透過 T-SQL 語句來新增、刪除或修改連結伺服器配置

進行跨資料庫、跨例項或甚至跨資料庫系統的資料整合和查詢

SELECT * FROM sysservers

可以查出當前 SQL Server 例項上配置的所有連結伺服器的列表及其相關資訊

示例使用 Transact-SQL 建立與其他 SQL Server 例項的連結伺服器

在查詢編輯器中,輸入以下 Transact-SQL 命令以便連結到名為 SRVR002\ACCTG 的 SQL Server 例項:

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'SRVR002\ACCTG',
@srvproduct=N'SQL Server';
GO

執行以下程式碼,以便將連結伺服器配置為使用正在使用連結伺服器的登入名的域憑據

EXEC master.dbo.sp_addlinkedsrvlogin   
    @rmtsrvname = N'SRVR002\ACCTG',   
    @locallogin = NULL ,   
    @useself = N'True';  
GO

測試能否在 T-SQL 中連線到連結伺服器

SELECT name FROM [SRVR002\ACCTG].master.sys.databases;
GO

執行以下程式碼,以便返回本地伺服器上所有登入名的列表及其在連結伺服器上的匹配登入名

如果為連結伺服器登入名返回了 NULL,則表示連結伺服器上沒有該登入名

SELECT local.name AS LocalLogins, linked.name AS LinkedLogins  
FROM master.sys.server_principals AS local  
LEFT JOIN [SRVR002\ACCTG].master.sys.server_principals AS linked  
     ON local.name = linked.name;  
GO

相關文章