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