設定委派之連結的伺服器
SQL Server 和 Windows 可以設定轉送已驗證的 Windows 使用者認證,讓連接到 SQL Server 執行個體的用戶端可以連接到另一個 SQL Server 執行個體。此設置也稱為「委派」。在委派下,Windows 使用者在與另一個執行個體通訊時,是使用 Windows 驗證「模擬」該使用者,來連接 SQL Server 執行個體。當針對特定連結伺服器的特定登入使用自我對應時,分散式查詢將需要安全性帳戶委派。
委派需求
為了說明委派的需求,假設有以下狀況:使用者登入用戶端電腦,此電腦連接到執行 SQL ServerSQLSERVER1 執行個體的伺服器。使用者想要針對連結伺服器 SQLSERVER2 上的資料庫執行分散式查詢。一部電腦連接到另一部電腦以便連接到第三部電腦的狀況,稱為 double hop。
[!附註]
即使建立連接到伺服器的用戶端應用程式 (包括 SQL Server Management Studio) 與接受查詢的 SQL Server 執行個體都在同一部電腦上,仍然必須設定某個連結伺服器作為委派。
用戶端的需求
使用者的 Windows 已驗證登入必須擁有 SQLSERVER1 與 SQLSERVER2 的存取權限。
請勿選取使用者 Active Directory 屬性 [帳戶機密而無法委派]。
用戶端電腦必須使用 TCP/IP 或具名管道網路連接性。
第一/中間伺服器 (SQLSERVER1) 的需求
伺服器必須擁有網域管理員註冊的 SPN。
SQL Server 下所執行的帳戶必須獲得信任才能進行委派。
伺服器必須使用 TCP/IP 或具名管道網路連接性。
必須將第二個伺服器 SQLSERVER2 以連結伺服器加入。這可透過執行 sp_addlinkedserver 預存程序來完成。例如:
EXEC sp_addlinkedserver 'SQLSERVER2', N'SQL Server'
必須設定連結伺服器登入才能進行自我對應。這可透過執行 sp_addlinkedsrvlogin 預存程序來完成。例如:
EXEC sp_addlinkedsrvlogin 'SQLSERVER2', 'true'
第二伺服器 (SQLSERVER2) 的需求
如果使用 TCP/IP 網路連接性,伺服器必須擁有網域管理員註冊的 SPN。
伺服器必須使用 TCP/IP 或具名管道網路連接性。