Sql-Server

在 SQL Server 2005 中將數據庫備份和還原到另一台伺服器後,使用者無法正常工作

  • June 17, 2015

我們在第一個名為“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

http://msdn.microsoft.com/en-us/library/ms176060.aspx

查看sp_change_users_login 做一個 sp_change_users_login ‘report’,如果有結果,使用 sp_change_users_login ‘autofis’,‘someuser’

引用自:https://serverfault.com/questions/273708