共用方式為


為使用 Always On 可用性群組中資料庫的作業管理登入

適用於:SQL Server

您應該在每個 Always On 可用性群組 (AG) 的主要資料庫及其對應的次要資料庫上,例行維護一組相同的使用者登入和 SQL Server Agent 工作。 登入和工作必須在託管 AG 之可用性複本的每個 SQL Server 執行個體重新產生。

  • SQL Server Agent 作業

    您必須從裝載原始主要複本的伺服器執行個體,將相關作業手動複製到裝載原始次要複本的伺服器執行個體。 對於所有資料庫,您需要在每個相關作業的開頭加入邏輯,讓工作只在主要資料庫上執行,也就是說,只有在本機複本是資料庫的主要複本時才執行。

    舉例而言,託管 AG 之可用性複本的伺服器執行個體,可能以不同的磁帶機代號,以不同的方式設定。 每個可用性複本的作業都必須允許這類差異。

    備份工作可以使用 sys.fn_hadr_backup_is_preferred_replica 函式,根據 AG 備份喜好設定,識別本機複本是否為備份慣用的複本。 使用使用維護計畫精靈建立的備份工作,原生使用此函式。 至於其他備份作業,我們建議您使用此函數做為備份作業中的條件,如此備份作業就只會在慣用複本上執行。 如需詳細資訊,請參閱將支援的備份卸載至可用性群組次要複本

  • 登入

    如果您要使用自主資料庫,可以在資料庫設定包含的使用者,而且不需要為這些使用者,在託管次要複本的伺服器執行個體建立登入。 若為非自主可用性資料庫,您就必須在託管可用性複本的伺服器執行個體上建立登入的使用者。 如需詳細資訊,請參閱 CREATE USER

    如果有任何應用程式使用 SQL Server 驗證或本機 Windows 登入,請參閱本文稍後的使用 SQL Server 驗證或本機 Windows 登入的應用程式登入

    注意

    在伺服器執行個體上未定義或定義不正確之 SQL Server 登入的資料庫使用者,無法登入此執行個體。 這類使用者就是伺服器執行個體上的資料庫 「被遺棄使用者」 (Orphaned User)。 如果某位使用者在給定的伺服器執行個體上被遺棄,您可以隨時設定使用者登入。 如需詳細資訊,請參閱孤立使用者疑難排解 (SQL Server)

  • 其他中繼資料

    在託管指定 AG 之次要複本的每個伺服器執行個體,登入和工作並非唯一必須重新建立的資訊。 例如,您可能必須重新建立伺服器組態設定、認證、加密資料、權限、複寫設定、Service Broker 應用程式、觸發程序 (伺服器層級) 等等。 如需詳細資訊,請參閱管理在另一部伺服器上提供資料庫時所需的中繼資料

SQL Server 驗證或本機 Windows 登入

如果應用程式使用 SQL Server 驗證或本機 Windows 登入,安全性識別碼 (SID) 不符,可能造成 SQL Server 遠端執行個體無法解析該應用程式的登入。 SID 不相符將導致此登入成為遠端伺服器執行個體上的被遺棄使用者。 若應用程式是在容錯移轉後連接到鏡像資料庫或記錄傳送資料庫,或者連接到從備份初始化的複寫訂閱者資料庫,可能就會發生這個問題。

將應用程式設定為使用 SQL Server 遠端執行個體託管的資料庫時,應採取預防措施。 預防的方法包括從本機 SQL Server 執行個體傳送登入和密碼到遠端 SQL Server 執行個體。 如需如何預防此問題的詳細資訊,請參閱知識庫文章 918992-如何在 SQL Server 的執行個體之間傳送登入和密碼)。

注意

此問題會影響位於不同電腦上的 Windows 本機帳戶。 但是,網域帳戶不會發生此問題,因為每部電腦上的 SID 都一樣。

如需詳細資訊,請參閱 Database Engine 部落格文章: Orphaned Users with Database Mirroring and Log Shipping (孤立的使用者與資料庫鏡像及記錄傳送)。