使用 Microsoft Entra 驗證的 SQL Server 連結伺服器
適用於: SQL Server 2022 (16.x)
現在可以使用驗證與 Microsoft Entra ID (先前稱為 Azure Active Directory) 來設定連結的伺服器,並且支援兩種提供認證的機制:
- 密碼
- 存取權杖
本文假設有兩個 SQL Server 執行個體 (S1
和 S2
)。 兩個都已設定為支援 Microsoft Entra 驗證,而且它們信任彼此的 SSL/TLS 憑證。 本文中的範例會在伺服器 S1
上執行,以建立伺服器 S2
的連結伺服器。
必要條件
- 適用於 SQL Server 的完全可操作 Microsoft Entra 驗證。 如需詳細資訊,請參閱適用於 SQL Server 的 Microsoft Entra 驗證和教學課程:設定適用於 SQL Server 的 Microsoft Entra 驗證。
- SQL Server Management Studio (SSMS) 18.0 版或更新版本。 或者,下載最新的 Azure Data Studio。
注意
S2
所使用的 SSL/TLS 憑證主體名稱必須符合 provstr
屬性中所提供的伺服器名稱。 這應該是 S2
的完整網域名稱 (FQDN) 或主機名稱。
針對 Microsoft Entra 驗證進行連結的伺服器設定
我們將使用密碼驗證及使用 Azure 應用程式秘密或存取權杖來從頭至尾設定連結的伺服器。
使用密碼驗證進行連結的伺服器設定
注意
雖然 Microsoft Entra ID 是 Azure Active Directory(Azure AD)的新名稱,但為了防止破壞現有的環境,Azure AD 仍會保留在某些硬式編碼元素中,例如 UI 字段、連線提供者、錯誤碼和 Cmdlet。 在本文中,這兩個名稱是可互換的。
對於密碼驗證,在 [提供者字串] 中使用 Authentication=ActiveDirectoryPassword
會向連結的伺服器示意使用 Microsoft EntraD 密碼驗證。 必須建立連結的伺服器登入,才能將 S1
上的每個登入對應到 S2
上的 Microsoft Entra 登入。
在 SSMS 中,連接到
S1
並在 [物件總管] 視窗中展開 [伺服器物件]。以滑鼠右鍵按一下 [連結的伺服器],並選取 [新增連結的伺服器]。
填寫連結的伺服器詳細資料:
- 連結的伺服器:
S2
或使用連結伺服器的名稱。 - 伺服器類型:
Other data source
。 - 提供者:
Microsoft OLE DB Driver for SQL Server
。 - 產品名稱:保留空白。
- 資料來源:保留空白。
- 提供者字串:
Server=<fqdn of S2>;Authentication=ActiveDirectoryPassword
。 - 目錄:保留空白。
- 連結的伺服器:
選取 [安全性] 索引標籤。
選取 [新增]。
- 本機登入:指定用來連接到
S1
的登入名稱。 - 模擬:保持未核取。
- 遠端使用者:用來連線到 S2 的 Microsoft Entra 使用者的使用者名稱,格式為
user@contoso.com
。 - 遠端密碼:Microsoft Entra 使用者的密碼。
- 對於上面清單中未定義的登入,連線將:
Not be made
- 本機登入:指定用來連接到
選取 [確定]。
使用存取權杖驗證進行連結的伺服器設定
對於存取權杖驗證,會在 [提供者字串] 中使用 AccessToken=%s
來建立連結的伺服器。 會建立連結的伺服器登入,以將 S1
中的每個登入對應到 Microsoft Entra 應用程式,其已被授與存取 S2
的登入權限。 該應用程式必須有一個指派給它的秘密,S1
將使用它來產生存取權杖。 可以透過瀏覽至 Azure 入口網站>Microsoft Entra ID>應用程式註冊>YourApplication
>證書與密碼>新用戶端密碼來建立密碼。
在 SSMS 中,連接到
S1
並在 [物件總管] 視窗中展開 [伺服器物件]。以滑鼠右鍵按一下 [連結的伺服器],並選取 [新增連結的伺服器]。
填寫連結的伺服器詳細資料:
- 連結的伺服器:
S2
或使用連結伺服器的名稱。 - 伺服器類型:
Other data source
。 - 提供者:
Microsoft OLE DB Driver for SQL Server
。 - 產品名稱:保留空白。
- 資料來源:保留空白。
- 提供者字串:
Server=<fqdn of S2>;AccessToken=%s
。 - 目錄:保留空白。
- 連結的伺服器:
選取 [安全性] 索引標籤。
選取 [新增]。
- 本機登入:指定用來連接到
S1
的登入名稱。 - 模擬:保持未核取。
- 遠端使用者:用來連線到 S2 的 Microsoft Entra 應用程式的用戶端識別碼。 您可以在 Microsoft Entra 應用程式的 [概觀] 功能表中找到 [應用程式 (用戶端) 識別碼]。
- 遠端密碼:從為應用程式建立新用戶端祕密中獲得的秘密識別碼。
- 對於上面清單中未定義的登入,連線將:
Not be made
- 本機登入:指定用來連接到
選取 [確定]。