[SQLServer學習筆記] - Error 15023,用戶、組或角色'XXX'在當前數據庫中已存在

Error : 15023,用戶、組或角色’XXX’在當前數據庫中已存在如何解決

https://www.landui.com/help/show-1914.html

爲一個數據庫添加一個用戶或者映射數據庫時,提示以下錯誤信息:
用戶、組或角色 ***** 在當前數據庫中已存在。 (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”重新關聯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章