很多做DBA的朋友也許都會碰到一個這樣的問題,在數據中備份還原到其它服務器時,登陸名會丟失,重建非常麻煩,特別是數據庫用戶較多的情況,其實這個問題解決非常簡單,sql server 2005 及以前的產品,sql server 提供了 sp_change_users_login存儲過程,(sql server 2008 須用ALTER USER)
sp_change_users_login有三種動作:report,update_one和auto_fix
具體用法:
1.列出當前數據庫中的孤立用戶
exec sp_change_users_login 'report'
2.如果已有登錄用戶,將用戶名映射為指定的登錄名
exec sp_change_users_login 'UPDATE_ONE','用戶名','登錄名'
也可以用 exec sp_change_users_login 'AUTO_FIX','用戶名'
3.如果沒有建立登錄用戶
exec sp_change_users_login 'Auto_Fix', '登錄名', NULL, '登錄密碼'