設定資料庫鏡像的登入帳戶

若要讓兩個伺服器執行個體在資料庫鏡像工作階段中通訊,這兩個執行個體的登入帳戶都必須要有對方的存取權。而且,這兩個登入帳戶都必須要有連接權限來連接到對方的資料庫鏡像端點。如需有關這個端點的資訊,請參閱<資料庫鏡像端點>。

本主題內容:

  • 建立使用者登入

  • 授與連接權限

  • 相關工作

建立使用者登入

無法鏡像 mastermsdb 系統資料庫中的資訊。因此,若要讓所有資料庫使用者有效率地切換角色,在主要伺服器執行個體上具有連接權限的使用者登入也必須存在鏡像伺服器執行個體上。

此需求的影響視鏡像夥伴是否以相同網域使用者帳戶執行而定:

  • 如果夥伴是以相同網域使用者帳戶執行,則正確使用者登入會自動存在於兩個 master 資料庫中。這樣可簡化資料庫的安全性組態,建議您使用。

  • 如果夥伴伺服器執行個體是以不同使用者帳戶執行,則主要伺服器執行個體上的使用者登入必須以手動方式重新產生在鏡像伺服器執行個體上。為了避免角色切換之後產生被遺棄的使用者,您應該在主體和鏡像資料庫上固定維護一組相同的使用者登入。不過,如果在角色切換之後遺棄任何使用者,您還是可以設定他們的登入。

為不同的帳戶建立登入

如果兩個伺服器執行個體是以不同的帳戶來執行,系統管理員就必須使用 CREATE LOGIN Transact-SQL 陳述式,在這兩個伺服器執行個體 master 資料庫的 syslogins 資料表中,針對遠端執行個體的啟動服務帳戶來建立登入。如需詳細資訊,請參閱<CREATE LOGIN (Transact-SQL)>。

重要事項重要事項

如果您是在非網域帳戶之下執行 SQL Server,則必須使用憑證。如需詳細資訊,請參閱<使用資料庫鏡像的憑證>。

例如,若要讓伺服器執行個體 sqlA (在 loginA 之下執行) 連接到伺服器執行個體 sqlB (在 loginB 之下執行),則 loginA 必須在 sqlB 的 syslogins 資料表中,而 loginB 必須在 sqlA 的 syslogins 資料表中。此外,若資料庫鏡像工作階段中包含見證伺服器執行個體 (sqlC),而且其中的三個伺服器執行個體都是在不同的網域帳戶下執行,則必須建立下列登入:

在執行個體

建立登入及授與連接權限給

sqlA

sqlB 和 sqlC

sqlB

sqlA 和 sqlC

sqlC

sqlA 和 sqlB

[!附註]

您也可以用電腦帳戶代替網域使用者來與網路服務帳戶連接。如果使用電腦帳戶,則必須將該帳戶新增為其他個伺服器執行個體的使用者。

授與連接權限

一旦在伺服器執行個體上建立登入,就必須授權該登入來連接伺服器執行個體的資料庫鏡像端點。系統管理員可使用 GRANT Transact-SQL 陳述式來授與連接權限。如需詳細資訊,請參閱<GRANT (Transact-SQL)>。

[!附註]

如需有關這個端點的資訊,請參閱<資料庫鏡像端點>。