Sql-Server
在 SQL Server 2005 中將數據庫備份和還原到另一台伺服器後,使用者無法正常工作
我們在第一個名為“SQL01”的 sql 伺服器實例上有一個名為“foo”的數據庫,該數據庫每晚通過 Snap Manager for SQL Server 的快照進行備份,然後靈活複製並恢復到名為“SQL02”的第二個伺服器實例。在數據庫 foo 中有一個名為“someuser”的 sql 使用者,它具有數據讀取器和儲存過程權限。
還原操作後,我無法使用 someuser 使用者訪問 SQL02 上的 foo 數據庫。我可以看到權限似乎已為使用者正確設置,但無法訪問數據庫。錯誤是“伺服器主體“someuser”無法在目前安全上下文下訪問數據庫“foo”。
如果我從數據庫中刪除使用者然後再次添加它們,它工作正常。有任何想法嗎?
sp_change_users_login 是舊的處理方式,由於您使用的是 SQL Server 2005,因此請嘗試使用 ALTER USER 語法。
http://sqlblog.com/blogs/greg_low/archive/2009/02/02/much-ado-about-logins-and-sids.aspx
查看sp_change_users_login 做一個 sp_change_users_login ‘report’,如果有結果,使用 sp_change_users_login ‘autofis’,‘someuser’