sp_change_users_login 'Update_One', '用戶名', '登錄名';


每次從服務器上備份好數據庫(Sql Server數據庫),如果將備份數據庫文件在本地恢復,總會產生用戶權限的問題。

經過很多次的實驗后,我發現有那么一條語句可以發揮作用,就是sp_change_users_login語句。

具體用法:
EXEC sp_change_users_login 'Update_One', '用戶名', '登錄名';

比如,原來在你本地數據庫中有一個用戶名是aa,這個數據庫是遠程數據庫在本地的備份,當然遠程數據庫中也有這個用戶名。每次在遠程備份后,再在本地恢復,那么本地機器上的aa這個用戶名就沒有讀寫這個數據庫的權限了,所以一定要執行一下這個語句就可以了。

 ====================================================================================
孤立帳戶,就是某個數據庫的帳戶只有用戶名而沒有登錄名,這樣的用戶在用戶庫的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','用戶名','登錄名'
將用戶名映射為指定的登錄名。
====================================================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM