原文:
錯誤21002:[SQL-DMO]用戶"xxx"已經存在
產生原因:
這就是我們通常所說的“孤立用戶”,所謂孤立帳戶,就是某個數據庫的帳戶只有用戶名而沒有登錄名,這樣的用戶在用戶庫的sysusers系統表中存在,而在master數據庫的syslogins中卻沒有對應的記錄。
孤立帳戶的產生一般是一下兩種:
1.將備份的數據庫在其它機器上還原;
2.重裝系統或SQL SERVER之后只還原了用戶庫
解決方法:
解決方法是使用sp_change_users_login來修復。
sp_change_users_login的用法有三種
修復方法:
步驟1:
打開查詢分析器,進入對應數據庫運行以下命令
exec sp_change_users_login 'REPORT'
列出當前數據庫的孤立用戶
步驟2:
exec sp_change_users_login 'AUTO_FIX','用戶名'
可以自動將用戶名所對應的同名登錄添加到syslogins中
步驟3:
exec sp_change_users_login 'UPDATE_ONE','用戶名','登錄名'
將用戶名映射為指定的登錄名。
運行完以上三個命令,你再試試看,用戶就能正常登陸了
MSSQL2000遷移數據庫或者還原數據庫后,新建相同用戶名的時候或者指定數據庫登錄用戶時出現錯誤提示:“錯誤21002:[SQL-DMO]用戶"xxx"已經存在”
產生原因:
這就是我們通常所說的“孤立用戶”,所謂孤立帳戶,就是某個數據庫的帳戶只有用戶名而沒有登錄名,這樣的用戶在用戶庫的sysusers系統表中存在,而在master數據庫的syslogins中卻沒有對應的記錄。
孤立帳戶的產生一般是一下兩種:
1.將備份的數據庫在其它機器上還原;
2.重裝系統或SQL SERVER之后只還原了用戶庫
解決方法:
解決方法是使用sp_change_users_login來修復。
sp_change_users_login的用法有三種
修復方法:
步驟1:
打開查詢分析器,進入對應數據庫運行以下命令
exec sp_change_users_login 'REPORT'
列出當前數據庫的孤立用戶
步驟2:
exec sp_change_users_login 'AUTO_FIX','用戶名'
可以自動將用戶名所對應的同名登錄添加到syslogins中
步驟3:
exec sp_change_users_login 'UPDATE_ONE','用戶名','登錄名'
將用戶名映射為指定的登錄名。
運行完以上三個命令,你再試試看,用戶就能正常登陸了
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
