古詩詞大全網 - 成語查詢 - MSSQL錯誤:21002如何解決?

MSSQL錯誤:21002如何解決?

轉自:/suncrafted/archive/2009/06/24/4294246.aspx

MS SQL Server 錯誤 21002 :[SQL -DMO]用戶"xxx"已經存在 解決方法

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','用戶名','登錄名'

將用戶名映射為指定的登錄名。

本文來自CSDN博客,轉載請標明出處:/Bluesky_Leon/archive/2010/01/14/5189115.aspx