1. 程式人生 > >SQL 2008R2問題:使用者、組或角色'XXX'在當前資料庫中已存在?

SQL 2008R2問題:使用者、組或角色'XXX'在當前資料庫中已存在?

為一個數據庫新增一個使用者或者對映資料庫時,提示以下錯誤資訊:

使用者、組或角色 '*****' 在當前資料庫中已存在。 (Microsoft SQLServer, 錯誤 : 15023)

問題原因:在還原資料庫的過程中,在其它sql server伺服器上進行還原之後,會出現一個在原伺服器上可以正常的使用者在目標伺服器上出現無法登入的使用。

解決方法: 當資料庫恢復到其他伺服器時,原資料庫中包含一組使用者和許可權,但可能沒有相應的登入或者登入所關聯的使用者可能不是相同的使用者。這種情況可能會出現上面的問題。該問題是無法通過新建登入或者是對同名登入授予對應資料庫的“使用者”許可權來解決登入問題。由於SQLServer會提示“錯誤15023:當前資料庫中已存在使用者或角色”,要解決這個問題,需要呼叫系統儲存過程sp_change_users_login,具體用法如下: 1.開啟SQL Server Management Studio, 右鍵選擇“資料庫”>“新建查詢” 輸入以下sql指令碼: //======================= Use [資料庫名] go sp_change_users_login 'update_one', 'XXX', 'XXX' //======================== 接著執行指令碼即可。 注:其中update_one是儲存過程的引數,表示只處理一個使用者,前一個XXX是“使用者”,後一個XXX是“登入”,以上這個SQL表示將伺服器登入“XXX”與資料庫使用者“XXX”重新關聯。
 
更改自:http://blog.csdn.net/sabic/article/details/7577809  SQL2005