今天在給資料庫賬號分配資料庫許可權的時候,直接拋出拋出錯誤,錯誤的詳細信息如下:用戶、組或角色 '' 在當前資料庫中已存在。 (Microsoft SQL Server,錯誤: 15023)。查閱相關文檔後發現,拋出這種錯誤,可能是因為資料庫中存在孤立用戶。 將資料庫恢復到其他伺服器時,資料庫中包含一 ...
今天在給資料庫賬號分配資料庫許可權的時候,直接拋出拋出錯誤,錯誤的詳細信息如下:用戶、組或角色 '' 在當前資料庫中已存在。 (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修改預設埠號增加安全性。
備註:此文章轉載自博主個人技術站點:IT技術小趣屋。原文鏈接:查看原文。