Sql-Server
登錄未跨可用性組同步
我們在 AlwaysOn 組中有 2 台伺服器。
雖然每個同步數據庫中的使用者帳戶都存在於兩台伺服器上,但數據庫實例級登錄僅存在於其中一台伺服器上。即 DBINSTANCE->Security->Logins 在一台伺服器上失去。
因此,當發生故障轉移時,我會在第二台伺服器(沒有相應的實例級別登錄)上登錄失敗。
我該如何克服這個問題?我應該以特殊方式設置使用者帳戶嗎?
您必須使用包含的數據庫,或者必須在其他伺服器上使用相同的密碼雜湊和 SID 重新創建使用者。
Microsoft 提供了執行此操作的腳本: How to transfer logins and passwords between SQL Server instances
Mark 的解決方案部分正確,但他推薦的解決方案是針對鏡像數據庫,而不是問題所要求的 AlwaysOn。
我的理解是,如果您不使用Contained Databases,則必須確保在其他實例上手動創建登錄。
類似於SQLSoldier的腳本(最初發佈在將登錄名轉移到數據庫鏡像一文中)應該可以解決問題。