筆記6-徐 檢測孤立用戶並恢復孤立用戶到新的服務器 解決數據庫鏡像孤立用戶問題

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, -- sysname
12     @LoginName = NULL, -- sysname
13     @Password = NULL -- sysname
14 GO
15
16 --在服務器新建一個同名的登陸賬號 ,例如hengshan,而後從新連接hengshan服務器登陸賬戶與數據庫用戶hengshan,將
17 --他們的SID改爲一致的
18 USE GPOSDB
19 GO
20 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用戶的密碼也是test
24
25
26
27 ---------------SQL2008 AUTO_FIX纔有用----------------------------------------------
28   
29 USE GPOSDB
30 EXEC sys.sp_change_users_login @Action = 'AUTO_FIX', -- varchar(10)
31 @UserNamePattern =hengshan -- sysname
32
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_addlogin
46 @loginame = 'myuser',
47 @passwd = 'test',
48 @sid = 0x074477739DCA0E499C29394FFFC4ADE4
49
50 --這裏的’LoginName’即主數據庫中的登陸名,sid便是上述經過SQL語句查找出的sid。
51 --注意一下密碼
52
53 --到此爲止能夠認爲備機數據庫的環境已經與主機同步了,還差數據庫內的數據未同步數據庫

相關文章
相關標籤/搜索