SQL (2005)2008R2問(wèn)題:用戶、組或角色'XXX'在當(dāng)前數(shù)據(jù)庫(kù)中已存在?
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
為一個(gè)數(shù)據(jù)庫(kù)添加一個(gè)用戶或者映射數(shù)據(jù)庫(kù)時(shí),提示以下錯(cuò)誤信息:
用戶、組或角色 '*****' 在當(dāng)前數(shù)據(jù)庫(kù)中已存在。 (Microsoft SQLServer, 錯(cuò)誤 : 15023)
問(wèn)題原因:在還原數(shù)據(jù)庫(kù)的過(guò)程中,在其它sql server服務(wù)器上進(jìn)行還原之后,會(huì)出現(xiàn)一個(gè)在原服務(wù)器上可以正常的用戶在目標(biāo)服務(wù)器上出現(xiàn)無(wú)法登錄的使用。
解決方法:
當(dāng)數(shù)據(jù)庫(kù)恢復(fù)到其他服務(wù)器時(shí),原數(shù)據(jù)庫(kù)中包含一組用戶和權(quán)限,但可能沒(méi)有相應(yīng)的登錄或者登錄所關(guān)聯(lián)的用戶可能不是相同的用戶。這種情況可能會(huì)出現(xiàn)上面的問(wèn)題。該問(wèn)題是無(wú)法通過(guò)新建登錄或者是對(duì)同名登錄授予對(duì)應(yīng)數(shù)據(jù)庫(kù)的“用戶”權(quán)限來(lái)解決登錄問(wèn)題。由于SQLServer會(huì)提示“錯(cuò)誤15023:當(dāng)前數(shù)據(jù)庫(kù)中已存在用戶或角色”,要解決這個(gè)問(wèn)題,需要調(diào)用系統(tǒng)存儲(chǔ)過(guò)程sp_change_users_login,具體用法如下:
1.打開(kāi)SQL Server Management Studio, 右鍵選擇“數(shù)據(jù)庫(kù)”>“新建查詢”
輸入以下sql腳本:
//=======================
Use [數(shù)據(jù)庫(kù)名]
go
sp_change_users_login 'update_one', 'XXX', 'XXX'
//========================
接著執(zhí)行腳本即可。
注:其中update_one是存儲(chǔ)過(guò)程的參數(shù),表示只處理一個(gè)用戶,前一個(gè)XXX是“用戶”,后一個(gè)XXX是“登錄”,以上這個(gè)SQL表示將服務(wù)器登錄“XXX”與數(shù)據(jù)庫(kù)用戶“XXX”重新關(guān)聯(lián)。
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!