使用 Windows 驗證允許資料庫鏡像的網路存取 (SQL Server)

若要將 Windows 驗證用於連接兩個 SQL Server 執行個體的資料庫鏡像端點,在下列狀況下,需要手動設定登入帳戶:

  • 如果 SQL Server 執行個體會以服務的形式在不同的網域帳戶底下執行 (在相同或受信任的網域中),您就必須在每個遠端伺服器執行個體的 master 中建立每個帳戶的登入,而且該登入必須被授與端點的 CONNECT 權限。

  • 如果 SQL Server 執行個體會以網路服務帳戶的身分執行,您就必須在每個遠端伺服器執行個體的 master 中建立每個主機電腦帳戶的登入 (DomainName**\**ComputerName$),而且該登入必須被授與端點的 CONNECT 權限。 這是因為在 Network Service 帳戶底下執行的伺服器執行個體會使用主機電腦的網域帳戶進行驗證。

[!附註]

請確定每個伺服器執行個體都有端點存在。 如需詳細資訊,請參閱<建立 Windows 驗證的資料庫鏡像端點 (Transact-SQL)>。

若要設定 Windows 驗證登入

  1. 針對每個 SQL Server 執行個體的使用者帳戶,在其他 SQL Server 執行個體上建立登入。 將 CREATE LOGIN 陳述式與 FROM WINDOWS 子句搭配使用。

    如需詳細資訊,請參閱<建立登入>。

  2. 另外,若要確定登入使用者擁有端點的存取權,請使用 GRANT 陳述式將端點上的連接權限授與登入。 請注意,如果使用者是 Administrator,就不需要授與端點的連接權限。

    如需詳細資訊,請參閱<為主體授與權限>。

範例

下列 Transact-SQL 範例會為屬於 Adomain 網域的 Otheruser 使用者帳戶建立 SQL Server 登入。 接著,此範例會將預先存在的鏡像資料庫端點 Mirroring_Endpoint 的連接權限授與此使用者。

USE master;
GO
CREATE LOGIN [Adomain\Otheruser] FROM WINDOWS;
GO
GRANT CONNECT on ENDPOINT::Mirroring_Endpoint TO [Adomain\Otheruser];
GO

請參閱

概念

AlwaysOn 可用性群組概觀 (SQL Server)

資料庫鏡像 (SQL Server)

資料庫鏡像和 AlwaysOn 可用性群組的傳輸安全性 (SQL Server)

資料庫鏡像端點 (SQL Server)