MicroSoft SQLServer 2005 数据库镜像

 最近用了一下SQLServer2005的镜像备份功能,读了网上很多资料,现把相关资料收录。

     数据库镜像对于SQLServer2005的版本有一定要求,其中主服务器和镜像服务器只能在标准版、开发版和企业版的SQL Server 2005中运行,而见证服务器可以运行在任何版本的SQLServer上。

     在进行数据库镜像前,要对主数据库进行一次完全备份,在此之前需要设置主数据库的日志恢复模式为完整模式。

     设置并备份主数据库之后就可以开始了。

     环境如下:

          主机和备机都安装了SQLServer2005企业版,并且使用交叉线互联,IP设置

          主机:192.168.0.7

          备机:192.168.0.8

 

下面可以开始了:
一、执行如下SQL语句,创建数据库镜像端点并导出证书:
     主机:

主机执行SQL
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1 USE master;
 2 --创建主密钥
 3 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password;
 4 --创建证书
 5 CREATE CERTIFICATE MASTER_Cert WITH SUBJECT = 'MASTER_Certificate', START_DATE = '08/08/2008';
 6 
 7 --创建端点
 8 CREATE ENDPOINT Endpoint_Mirroring 
 9 STATE = STARTED 
10 AS 
11 TCP ( LISTENER_PORT=6666 , LISTENER_IP = ALL ) 
12 FOR 
13 --负载为数据库镜像
14 DATABASE_MIRRORING 
15 ( AUTHENTICATION = CERTIFICATE MASTER_Cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
16 
17 --备份证书,用于主备证书互换
18 BACKUP CERTIFICATE MASTER_Cert TO FILE = 'C:\MASTER_Cert.cer';

 

     备机:

     

备机执行SQL
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1USE master;
 2--创建主密钥
 3CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password;
 4--创建证书
 5CREATE CERTIFICATE SLAVE_Cert WITH SUBJECT = 'SLAVE_Certificate', START_DATE = '08/08/2008';
 6
 7--创建端点
 8CREATE ENDPOINT Endpoint_Mirroring 
 9STATE = STARTED 
10AS 
11TCP ( LISTENER_PORT=6666 , LISTENER_IP = ALL ) 
12FOR 
13--负载为数据库镜像
14DATABASE_MIRRORING
15( AUTHENTICATION = CERTIFICATE SLAVE_Cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
16
17--备份证书,用于主备证书互换
18BACKUP CERTIFICATE SLAVE_Cert TO FILE = 'C:\SLAVE_Cert.cer';

 


二、把主机和备机的证书互换,即把主机的证书拷贝到备机的某一文件夹等待使用,备机进行同样操作。

     执行如下SQL,设置登陆用户。

     主机:

     

主机执行SQL
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->1--添加登陆用户
2CREATE LOGIN SLAVE_Login WITH PASSWORD = 'password';
3CREATE USER SLAVE_User FOR LOGIN SLAVE_Login;
4CREATE CERTIFICATE SLAVE_Cert AUTHORIZATION SLAVE_User FROM FILE = 'C:\SLAVE_Cert.cer';
5GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SLAVE_Login];

 

     备机:

 

备机执行SQL
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->1--添加登陆用户
2CREATE LOGIN MASTER_Login WITH PASSWORD = 'password';
3CREATE USER MASTER_User FOR LOGIN MASTER_Login;
4CREATE CERTIFICATE MASTER_Cert AUTHORIZATION MASTER_User FROM FILE = 'C:\MASTER_Cert.cer';
5GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MASTER_Login];

 


三、在备机中还原数据库,把刚才主机数据库备份拷贝到备机,然后进行还原,注意选择还原条件为RESTORE WITH NORECOVERY,如图:

 

还原数据库

还原成功,显示正在还原。


四、在主机中执行如下SQL,执行成功则镜像设置成功,显示正在同步,如图:

 

主机执行SQL
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->1--设置镜像
2ALTER DATABASE Test SET PARTNER = 'TCP://192.168.5.8:5022';

 


 

镜像建成后,就可以在主数据库的属性中设置数据库镜像,例如调整运行模式(据说异步模式性能较高,正如MS所写的高性能) 

 

相关和错误解决方法:

以上互换证书如果主机和备机处于同一域中,则可以省略此步。

 如果在主机执行失败,一般是由于主备数据库的内容不一致造成的,可以在主数据库进行还原。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值