SQL Server 錯(cuò)誤:15023(創(chuàng)建對於用戶失敗)
SQL Server錯誤15023:當前數據庫中已存在用戶或角色
在把(bǎ)遠程服務器上(shàng)的(de)數據(jù)庫備份還原到本地機後, 給一個"登錄"關聯一個"用戶"時(shí)(用戶映射),發生錯誤: “錯誤15023:當前數據庫中已存在用戶或角色”
原因:
sql server中“登錄”與(yǔ)“用戶”的區別,“登錄”用於用戶身份驗證,而數據庫“用戶”帳戶用於數據庫訪問(wèn)和權限(xiàn)驗證。登錄(lù)通過安全識別符 (SID) 與用戶關聯。將數據(jù)庫恢複到其他服務器時,數據庫中包含一組用戶和權限(xiàn),但可能沒有相應的登錄或者登錄所(suǒ)關聯的用戶可能不是相同(tóng)的用戶(hù)。這種情況被稱為存在“孤立用戶”。此時(shí)是不能通過新(xīn)建登錄或者是(shì)對同名(míng)登錄授予對應數據庫的(de)“用戶”權限來解(jiě)決登錄問題,因為SQL Server會報出“錯(cuò)誤15023:當前數據庫中已存在用戶或角色”
解決:
為(wéi)了解決(jué)這個問題,需要調用係統存儲過程sp_change_users_login,具體用法如下:
Use Northwind
go
sp_change_users_login 'update_one', 'test', 'test'
其中Northwind為存(cún)在孤(gū)立用戶的數據庫,update_one是存儲過程的參數,表示(shì)隻處理一個用戶,前一個test是“用戶”,後一個test是“登錄”,以上(shàng)這個SQL表示將服務器登錄(lù)“test”與 Northwind 數據庫用戶“test”重新連(lián)接起來。這樣就可以正常(cháng)使用(yòng)數據庫了(le)。
關鍵詞:SQL
閱讀本文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0