SQL (2005)2008R2問題:用戶、組或角色'XXX'在當前數(shù)據庫中已存在?
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務,掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
為一個數(shù)據庫添加一個用戶或者映射數(shù)據庫時,提示以下錯誤信息:
用戶、組或角色 '*****' 在當前數(shù)據庫中已存在。 (Microsoft SQLServer, 錯誤 : 15023)
問題原因:在還原數(shù)據庫的過程中,在其它sql server服務器上進行還原之后,會出現(xiàn)一個在原服務器上可以正常的用戶在目標服務器上出現(xiàn)無法登錄的使用。
解決方法:
當數(shù)據庫恢復到其他服務器時,原數(shù)據庫中包含一組用戶和權限,但可能沒有相應的登錄或者登錄所關聯(lián)的用戶可能不是相同的用戶。這種情況可能會出現(xiàn)上面的問題。該問題是無法通過新建登錄或者是對同名登錄授予對應數(shù)據庫的“用戶”權限來解決登錄問題。由于SQLServer會提示“錯誤15023:當前數(shù)據庫中已存在用戶或角色”,要解決這個問題,需要調用系統(tǒng)存儲過程sp_change_users_login,具體用法如下:
1.打開SQL Server Management Studio, 右鍵選擇“數(shù)據庫”>“新建查詢”
輸入以下sql腳本:
//=======================
Use [數(shù)據庫名]
go
sp_change_users_login 'update_one', 'XXX', 'XXX'
//========================
接著執(zhí)行腳本即可。
注:其中update_one是存儲過程的參數(shù),表示只處理一個用戶,前一個XXX是“用戶”,后一個XXX是“登錄”,以上這個SQL表示將服務器登錄“XXX”與數(shù)據庫用戶“XXX”重新關聯(lián)。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!