Sqlserver用戶、組或角色在當前數據庫中已存在
阿新 • • 發佈:2019-03-31
當前 賦權 通過 登錄名 可能 語句 默認端口 端口號 數據庫 今天在給數據庫賬號分配數據庫權限的時候,直接拋出拋出錯誤,錯誤的詳細信息如下:用戶、組或角色 ‘‘ 在當前數據庫中已存在。 (Microsoft SQL Server,錯誤: 15023)。查閱相關文檔後發現,拋出這種錯誤,可能是因為數據庫中存在孤立用戶。
將數據庫恢復到其他服務器時,數據庫中包含一組用戶和權限,但可能沒有相應的登錄或者登錄所關聯的用戶可能不是相同的用戶。這種情況被稱為存在“孤立用戶”。此時是不能通過新建登錄或者是對同名登錄授予對應數據庫的“用戶”權限來解決登錄問題,因為SQLServer會報出“錯誤15023:當前數據庫中已存在用戶或角色“。
為了能夠使數據庫賬號順利的賦權訪問該數據庫,可以采用Sqlserver內置的系統存儲過程sp_change_users_login來解決此問題。
解決此問題的步驟如下:
1、登錄到Sqlserver管理工具,連接服務器成功後,在新建查詢窗口輸入以下語句即可解決。
Use [數據庫名]
go
exec sp_change_users_login ‘UPDATE_ONE‘,‘用戶名‘,‘登錄名‘
此語句將用戶名映射為指定的登錄名。
2、舉個例子將ADataBase數據庫中的user1用戶與登錄名user1相關聯,則可使用以下語句。
Use ADataBase
go
exec sp_change_users_login ‘UPDATE_ONE‘,‘user1‘,‘user1‘
擴展閱讀:Sqlserver修改默認端口號增加安全性。
備註:此原創文章最早發表於自博主個人技術站點。原文鏈接:Sqlserver用戶、組或角色在當前數據庫中已存在_IT技術小趣屋。
Sqlserver用戶、組或角色在當前數據庫中已存在