SQL2008 2机镜像

清除设置

//删除端点
declare @sql varchar(100)
declare @mirrName varchar(30)
select @mirrName=name from sys.database_mirroring_endpoints
set @mirrName=isnull(@mirrName,'')
if @mirrName<>''
begin
 select @sql='drop endpoint '+@mirrName 
 exec(@sql)
end


//关闭镜像
alter database ZDCtlDB SET PARTNER OFF  

//开启镜像
alter database ZDCtlDB set partner='TCP://192.168.9.6:5022'
//结束正在恢复状态
restore database ZDCtlDB with recovery
View Code

 主机上的SQL

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123';
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate' , 
START_DATE = '2017-01-01';

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:workingHOST_A_cert.cer';


CREATE LOGIN HOST_B_login WITH PASSWORD = '123';  --主机上登录到备机的用户
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:workingHOST_B_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];


ALTER DATABASE ZDCtlDB SET PARTNER = 'TCP://192.168.9.1:5022';
View Code

镜像机上的SQL

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123';
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate', 
START_DATE = '2017-01-01';

CREATE ENDPOINT Endpoint_Mirroring 
STATE = STARTED 
AS 
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 
FOR 
DATABASE_MIRRORING 
( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );



BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:workingHOST_B_cert.cer';


CREATE LOGIN HOST_A_login WITH PASSWORD = '123';  --备机上登录到主机的用户
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:workingHOST_A_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];

ALTER DATABASE ZDCtlDB SET PARTNER = 'TCP://192.168.9.6:5022';
View Code

注意 

1.数据库需要运行在完全模式

2.备份一次数据库,然后再镜子像机上还原,还原选项时,【覆盖】跟【不对数据库执行任何操作,不回滚未提交事物。还可以还原其他事务日志】--即第二项

3.将主备机上的秘钥文件互相copy

参考:http://blog.csdn.net/jiajinhao/article/details/8009711

原文地址:https://www.cnblogs.com/wdfrog/p/6400051.html