1 --檢測孤立用戶并恢復孤立用戶到新的服務器 解決數據庫鏡像孤立用戶問題 2 --注意:重新鏈接只能鏈接SQL登錄帳號,不能鏈接Windows登錄帳號 3 --如果不選擇重新鏈接可以使用備份master數據庫的方法還原到新的服務器上,可以避免一個數據庫有 4 --成千上百個數據庫用戶的情況 5 SELECT * FROM sys.server_PRincipals 6 SELECT * FROM sys.database_principals 7 8 --檢測孤立用戶 9 USE GPOSDB --要建立鏡像的數據庫10 EXEC sys.sp_change_users_login @Action = 'report', -- varchar(10)11 @UserNamePattern = NULL, -- sysname12 @LoginName = NULL, -- sysname13 @PassWord = NULL -- sysname14 GO15 16 --在服務器新建一個同名的登錄帳號 ,例如hengshan,然后重新鏈接hengshan服務器登錄帳戶與數據庫用戶hengshan,將17 --他們的SID改成一致的18 USE GPOSDB19 GO20 EXEC sys.sp_change_users_login @Action = 'update_one', -- varchar(10)21 @UserNamePattern = 'hengshan', -- sysname<database_user>22 @LoginName = 'hengshan', -- sysname<login_name>23 @Password = 'test' -- sysname 將數據庫用戶密碼跟登錄帳號密碼都設置為test 這里主庫的hengshan用戶的密碼也是test24 25 26 27 ---------------SQL2008 AUTO_FIX才有用----------------------------------------------28 29 USE GPOSDB30 EXEC sys.sp_change_users_login @Action = 'AUTO_FIX', -- varchar(10)31 @UserNamePattern =hengshan -- sysname32 33 34 ------------------------解決數據庫鏡像孤立用戶問題---------------------35 --在主數據庫中執行如下語句:36 USE master;37 select sid,name from syslogins;38 39 40 --查找出相應的數據庫用戶名和sid,例如:上述的’myuser’41 --42 --在備數據庫中執行如下語句:43 44 USE master;45 exec sp_addlogin46 @loginame = 'myuser',47 @passwd = 'test',48 @sid = 0x074477739DCA0E499C29394FFFC4ADE449 50 --這里的’LoginName’即主數據庫中的登錄名,sid即是上述通過SQL語句查找出的sid。51 --注意一下密碼52 53 --到此為止可以認為備機數據庫的環境已經與主機同步了,還差數據庫內的數據未同步
新聞熱點
疑難解答