若要讓兩個伺服器實例彼此連線到 彼此的資料庫鏡像端點 點,每個實例的登入帳戶都需要存取另一個實例。 此外,每個登入帳戶都需要其他實例的資料庫鏡像端點連線許可權。
此需求的影響取決於伺服器實例是否以相同的網域使用者帳戶執行:
如果伺服器實例以相同的網域用戶帳戶執行,則兩個 master 資料庫中會自動有正確的使用者登入。 這可簡化資料庫鏡像和 AlwaysOn 可用性群組的安全性設定。
如果伺服器實例以不同的使用者帳戶執行,則在裝載主伺服器或主要複本的伺服器實例上,必須確保使用者登入被手動重現於裝載鏡像伺服器的伺服器實例或裝載次要複本之每一個伺服器實例上。 如需詳細資訊,請參閱本主題的稍後建立不同帳戶的登入憑證和授予連接權限。
這很重要
若要建立更安全的環境,請考慮針對每個伺服器實例使用不同的網域帳戶。
建立不同帳戶的登入
如果兩個伺服器實例以不同的帳戶執行,系統管理員必須使用 CREATE LOGIN Transact-SQL 語句,為每個伺服器實例建立遠端實例之啟動服務帳戶的登入。 如需詳細資訊,請參閱 CREATE LOGIN (Transact-SQL)。
這很重要
如果您在非網域帳戶下執行 SQL Server,則必須使用憑證。 如需詳細資訊,請參閱使用資料庫鏡像端點的憑證(Transact-SQL)。
例如,針對在loginA下執行的伺服器實例 sqlA,連接到在loginB下執行的伺服器實例 sqlB,loginA 必須存在於 sqlB 上,而 loginB 必須存在於 sqlA 上。 此外,針對包含見證伺服器實例(sqlC)的資料庫鏡像會話,並且三個伺服器實例在不同網域帳戶下運行時,必須建立以下登入:
| 例如... | 為某些用戶建立登入帳號並授予連接許可權... |
|---|---|
| sqlA | sqlB 和 sqlC |
| sqlB | sqlA 和 sqlC |
| sqlC | sqlA 和 sqlB |
備註
您可以使用電腦帳戶而非網域用戶來連線到網路服務帳戶。 如果使用計算機帳戶,則必須將它新增為其他伺服器實例上的使用者。
授與連線許可權
在伺服器實例上建立登入之後,必須授與登入許可權,才能連線到伺服器實例的資料庫鏡像端點。 系統管理員會使用 GRANT Transact-SQL 語句來授與連線許可權。 如需詳細資訊,請參閱 GRANT (Transact-SQL)。
相關工作
另請參閱
資料庫鏡像端點 (SQL Server)
排除資料庫鏡像配置的問題 (SQL Server)
疑難排解 AlwaysOn 可用性群組設定(SQL Server)