联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
1、服务器ip地址和数据库版本
主机:192.168.1.1
备机:192.168.1.110
数据库:sql server 2005 sp4
2、主备实例互通
1)创建证书
--主机执行 USE MASTER GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xifenfei'; GO USE MASTER GO CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'A certificate for database mirroring', START_DATE = '11/25/2009', EXPIRY_DATE = '12/31/2199'; GO --备机执行 USE MASTER GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'xifenfei'; GO USE MASTER GO CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'A certificate for database mirroring', START_DATE = '11/25/2009', EXPIRY_DATE = '12/31/2199'; GO
2)创建连接的端点
--主机执行 create endpoint endpoint_mirroring state=started as tcp (listener_port=5022,listener_ip=all) for database_mirroring (authentication=certificate HOST_A_cert,encryption=supported,role=all); --备机执行 create endpoint endpoint_mirroring state=started as tcp (listener_port=5022,listener_ip=all) for database_mirroring (authentication=certificate HOST_B_cert,encryption=supported,role=all);
3)备份证书以备建立互联
--主机执行 backup certificate HOST_A_cert to file='E:\database\key\HOST_A_cert.cer'; --备机执行 backup certificate HOST_B_cert to file='C:\database\mssql\key\HOST_B_cert.cer';
4)互换备份证书
拷贝证书文件到对象文件夹中
5)添加登录名、用户
--主机执行 create login HOST_B_login with password='20091125'; create user HOST_B_user for login HOST_B_login; create certificate HOST_B_cert authorization HOST_B_user from file='C:\database\mssql\key\HOST_B_cert.cer'; grant connect on endpoint::endpoint_mirroring to [HOST_B_login]; --备机执行 create login HOST_A_login with password='20091125'; create user HOST_A_user for login HOST_A_login; create certificate HOST_A_cert authorization HOST_A_user from file='E:\database\key\HOST_A_cert.cer'; grant connect on endpoint::endpoint_mirroring to [HOST_A_login];
3、建立镜像关系
1)备份还原数据库
/*尝试从刚刚使用的全备文件进行还原,在还原数据的时候需要使用”WITH NO RECOVERY“选项。*/ --主机执行 backup database test to disk='D:\sqlbackup\test091124full.bak' backup log test to disk='D:\sqlbackup\test091124log.bak' --备机执行 restore database acmr_10jqka from disk='D:\sqlbackup\test091124full.bak' with replace,norecovery restore log acmr_10jqka from disk='D:\dbbackup\118_sql\acmr_10jqka091125log.bak' with norecovery
2)建立镜像
/*注意:先备机,后主机*/ --备机执行 alter database acmr_10jqka set partner='TCP://192.168.1.1:5022'; --主机执行 alter database test set partner='TCP://192.168.1.110:5022';
3)事务安全性设置
/*默认情况下,事务安全级别的设置为FULL,即“同步运行模式”,而且,SQL SERVER 2005标准版只支持同步模式。*/ /*如果关闭事务安全级别FULL模式,则可以切换到异步运行模式,该模式可使性能达到最佳。*/ --主机执行 use master go alter database test set partner safety full; --事务安全,同步模式 alter database test set partner safety off; --事务不安全,异步模式
4)切换
--主机执行下面命令后,即切换为备机角色 use master go alter database test set partner failover; /*同理,也可以在备机(主体数据库)上执行上面命令,之后切换为备机(备数据库)*/