MS2005数据库镜像方法
1 --==========================================================================
2 --主数据库上运行下面的脚本
3 --==========================================================================
4
5 --创建主密钥
6 USE master;
7 --DROP MASTER KEY;
8 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
9 GO
10 --DROP LOGIN MIR_M_LOGIN
11 CREATE LOGIN MIR_M_LOGIN WITH PASSWORD = 'password';
12 GO
13
14 --DROP USER MIR_M_USER
15 CREATE USER MIR_M_USER FOR LOGIN MIR_M_LOGIN;
16 GO
17
18 --创建数据库证书
19 USE master;
20 --DROP CERTIFICATE MIR_188
21 CREATE CERTIFICATE MIR_188
22 WITH SUBJECT = 'MIR_188 certificate for database mirroring',
23 start_date = '01/01/2010',EXPIRY_DATE = '10/31/2099' ;
24 GO
25 --建立出站端点
26 --DROP ENDPOINT EMP_188
27 CREATE ENDPOINT EMP_188
28 STATE = STARTED
29 AS TCP (LISTENER_PORT=5025, LISTENER_IP = ALL )
30 FOR DATABASE_MIRRORING (
31 AUTHENTICATION = CERTIFICATE MIR_188
32 , ENCRYPTION = REQUIRED ALGORITHM RC4
33 , ROLE = ALL
34 );
35 GO
36
37 --配置端点
38 GRANT CONNECT ON ENDPOINT::EMP_188 TO [MIR_M_LOGIN];
39 GO
40 --激活端点
41 ALTER ENDPOINT EMP_188 STATE=STARTED
42 GO
43
44 --保存导出证书,拷贝到主服务器,将需要在主服务器导入
45 BACKUP CERTIFICATE MIR_188 TO FILE = 'D:\Webroot\MIR_188.cer';
46 GO
47
48 /*
49 如果出错,删除的方法如下:
50 --删除出站端点
51 DROP ENDPOINT EMP_188
52 --删除数据库证书
53 DROP CERTIFICATE MIR_188
54 --删除主密钥
55 DROP USER MIR_M_USER
56 DROP LOGIN MIR_M_LOGIN
57 DROP MASTER KEY;
58 */
59
60
61 --==========================================================================
62 --镜像据库上运行下面的脚本
63 --==========================================================================
64 --创建主密钥
65 USE master;
66 --DROP MASTER KEY;
67 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
68 GO
69 --DROP LOGIN MIR_M_LOGIN
70 CREATE LOGIN MIR_M_LOGIN WITH PASSWORD = 'password';
71 GO
72
73 --DROP USER MIR_M_USER
74 CREATE USER MIR_M_USER FOR LOGIN MIR_M_LOGIN;
75 GO
76
77 --创建数据库证书
78 USE master;
79 --DROP CERTIFICATE MIR_412
80 CREATE CERTIFICATE MIR_412
81 WITH SUBJECT = 'MIR_412 certificate for database mirroring',
82 start_date = '01/01/2010',EXPIRY_DATE = '10/31/2099' ;
83 GO
84 --建立出站端点
85 --DROP ENDPOINT EMP_412
86 CREATE ENDPOINT EMP_412
87 STATE = STARTED
88 AS TCP (LISTENER_PORT=5025, LISTENER_IP = ALL )
89 FOR DATABASE_MIRRORING (
90 AUTHENTICATION = CERTIFICATE MIR_412
91 , ENCRYPTION = REQUIRED ALGORITHM RC4
92 , ROLE = ALL
93 );
94 GO
95
96 --配置端点
97 GRANT CONNECT ON ENDPOINT::EMP_412 TO [MIR_M_LOGIN];
98 GO
99 --激活端点
100 ALTER ENDPOINT EMP_412 STATE=STARTED
101 GO
102
103 --保存导出证书,拷贝到主服务器,将需要在主服务器导入
104 BACKUP CERTIFICATE MIR_412 TO FILE = 'D:\Webroot\MIR_412.cer';
105 GO
106
107 /*
108 --如果出错,删除的方法如下:
109 --删除出站端点
110 DROP ENDPOINT EMP_412
111 --删除数据库证书
112 DROP CERTIFICATE MIR_412
113
114 --如果已经导入数据证书,则需要删除
115 DROP CERTIFICATE MIR_188
116
117 --删除主密钥
118 DROP USER MIR_M_USER
119 DROP LOGIN MIR_M_LOGIN
120 DROP MASTER KEY;
121 */
122
123
124
125 --==========================================================================
126 --相互复制证书文件,在主服务器上运行脚本
127 --==========================================================================
128 --互相对拷证书后,在主服务器导入从镜像服务器证书
129 CREATE CERTIFICATE MIR_412
130 AUTHORIZATION MIR_M_USER
131 FROM FILE = 'D:\webroot\MIR_412.cer'
132 GO
133
134
135 --==========================================================================
136 --相互复制证书文件,在从服务器上运行脚本
137 --==========================================================================
138 --互相对拷证书后在从经像服务器导入主服务器证书
139 CREATE CERTIFICATE MIR_188
140 AUTHORIZATION MIR_M_USER
141 FROM FILE = 'D:\webroot\MIR_188.cer'
142 GO
143
144 --==========================================================================
145 --从服务器上指定镜像地址
146 --==========================================================================
147 ALTER DATABASE 数据库名称 SET PARTNER = N'TCP://192.168.6.13:5025'
148 GO
149
150 --==========================================================================
151 --主服务器上指定主地址
152 --==========================================================================
153 ALTER DATABASE 数据库名称 SET PARTNER = N'TCP://192.168.6.75:5025'
154 GO
155
156 --如果数据处理的不对,可以在这里删除数据镜像
157 ALTER DATABASE AndroidShop SET PARTNER OFF
158
159
160 --已经全部完成
161 注意点:
162 1.要保证两个服务器在同个网段
163 2.两个服务器的有彼此能信任
163 3.还原的时候,要选择不对数据库做任何操作,不回滚未提交的日志,可以还原其它日志。(RESTORE WITH NORECOVERY)
2 --主数据库上运行下面的脚本
3 --==========================================================================
4
5 --创建主密钥
6 USE master;
7 --DROP MASTER KEY;
8 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
9 GO
10 --DROP LOGIN MIR_M_LOGIN
11 CREATE LOGIN MIR_M_LOGIN WITH PASSWORD = 'password';
12 GO
13
14 --DROP USER MIR_M_USER
15 CREATE USER MIR_M_USER FOR LOGIN MIR_M_LOGIN;
16 GO
17
18 --创建数据库证书
19 USE master;
20 --DROP CERTIFICATE MIR_188
21 CREATE CERTIFICATE MIR_188
22 WITH SUBJECT = 'MIR_188 certificate for database mirroring',
23 start_date = '01/01/2010',EXPIRY_DATE = '10/31/2099' ;
24 GO
25 --建立出站端点
26 --DROP ENDPOINT EMP_188
27 CREATE ENDPOINT EMP_188
28 STATE = STARTED
29 AS TCP (LISTENER_PORT=5025, LISTENER_IP = ALL )
30 FOR DATABASE_MIRRORING (
31 AUTHENTICATION = CERTIFICATE MIR_188
32 , ENCRYPTION = REQUIRED ALGORITHM RC4
33 , ROLE = ALL
34 );
35 GO
36
37 --配置端点
38 GRANT CONNECT ON ENDPOINT::EMP_188 TO [MIR_M_LOGIN];
39 GO
40 --激活端点
41 ALTER ENDPOINT EMP_188 STATE=STARTED
42 GO
43
44 --保存导出证书,拷贝到主服务器,将需要在主服务器导入
45 BACKUP CERTIFICATE MIR_188 TO FILE = 'D:\Webroot\MIR_188.cer';
46 GO
47
48 /*
49 如果出错,删除的方法如下:
50 --删除出站端点
51 DROP ENDPOINT EMP_188
52 --删除数据库证书
53 DROP CERTIFICATE MIR_188
54 --删除主密钥
55 DROP USER MIR_M_USER
56 DROP LOGIN MIR_M_LOGIN
57 DROP MASTER KEY;
58 */
59
60
61 --==========================================================================
62 --镜像据库上运行下面的脚本
63 --==========================================================================
64 --创建主密钥
65 USE master;
66 --DROP MASTER KEY;
67 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';
68 GO
69 --DROP LOGIN MIR_M_LOGIN
70 CREATE LOGIN MIR_M_LOGIN WITH PASSWORD = 'password';
71 GO
72
73 --DROP USER MIR_M_USER
74 CREATE USER MIR_M_USER FOR LOGIN MIR_M_LOGIN;
75 GO
76
77 --创建数据库证书
78 USE master;
79 --DROP CERTIFICATE MIR_412
80 CREATE CERTIFICATE MIR_412
81 WITH SUBJECT = 'MIR_412 certificate for database mirroring',
82 start_date = '01/01/2010',EXPIRY_DATE = '10/31/2099' ;
83 GO
84 --建立出站端点
85 --DROP ENDPOINT EMP_412
86 CREATE ENDPOINT EMP_412
87 STATE = STARTED
88 AS TCP (LISTENER_PORT=5025, LISTENER_IP = ALL )
89 FOR DATABASE_MIRRORING (
90 AUTHENTICATION = CERTIFICATE MIR_412
91 , ENCRYPTION = REQUIRED ALGORITHM RC4
92 , ROLE = ALL
93 );
94 GO
95
96 --配置端点
97 GRANT CONNECT ON ENDPOINT::EMP_412 TO [MIR_M_LOGIN];
98 GO
99 --激活端点
100 ALTER ENDPOINT EMP_412 STATE=STARTED
101 GO
102
103 --保存导出证书,拷贝到主服务器,将需要在主服务器导入
104 BACKUP CERTIFICATE MIR_412 TO FILE = 'D:\Webroot\MIR_412.cer';
105 GO
106
107 /*
108 --如果出错,删除的方法如下:
109 --删除出站端点
110 DROP ENDPOINT EMP_412
111 --删除数据库证书
112 DROP CERTIFICATE MIR_412
113
114 --如果已经导入数据证书,则需要删除
115 DROP CERTIFICATE MIR_188
116
117 --删除主密钥
118 DROP USER MIR_M_USER
119 DROP LOGIN MIR_M_LOGIN
120 DROP MASTER KEY;
121 */
122
123
124
125 --==========================================================================
126 --相互复制证书文件,在主服务器上运行脚本
127 --==========================================================================
128 --互相对拷证书后,在主服务器导入从镜像服务器证书
129 CREATE CERTIFICATE MIR_412
130 AUTHORIZATION MIR_M_USER
131 FROM FILE = 'D:\webroot\MIR_412.cer'
132 GO
133
134
135 --==========================================================================
136 --相互复制证书文件,在从服务器上运行脚本
137 --==========================================================================
138 --互相对拷证书后在从经像服务器导入主服务器证书
139 CREATE CERTIFICATE MIR_188
140 AUTHORIZATION MIR_M_USER
141 FROM FILE = 'D:\webroot\MIR_188.cer'
142 GO
143
144 --==========================================================================
145 --从服务器上指定镜像地址
146 --==========================================================================
147 ALTER DATABASE 数据库名称 SET PARTNER = N'TCP://192.168.6.13:5025'
148 GO
149
150 --==========================================================================
151 --主服务器上指定主地址
152 --==========================================================================
153 ALTER DATABASE 数据库名称 SET PARTNER = N'TCP://192.168.6.75:5025'
154 GO
155
156 --如果数据处理的不对,可以在这里删除数据镜像
157 ALTER DATABASE AndroidShop SET PARTNER OFF
158
159
160 --已经全部完成
161 注意点:
162 1.要保证两个服务器在同个网段
163 2.两个服务器的有彼此能信任
163 3.还原的时候,要选择不对数据库做任何操作,不回滚未提交的日志,可以还原其它日志。(RESTORE WITH NORECOVERY)