设置步骤:
-
确定主机恢复模式
主机
alter database Epicor905_yuanyong set partner off;
USE master;
ALTER DATABASE Epicor905_yuanyong SET RECOVERY FULL;
-
创建证书, 实现互通
主机
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456@genscript.com';
CREATE CERTIFICATE epicor_master WITH SUBJECT = 'Epicor Master certificate',
START_DATE = '04/02/2013';
备机
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456@genscript.com';
CREATE CERTIFICATE epicor_slave WITH SUBJECT = 'Epicor Slave certificate',
START_DATE = '04/02/2013';
-
创建连接端点
主机
CREATE ENDPOINT Endpoint_Epicor_Master
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE epicor_master , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
备机
CREATE ENDPOINT Endpoint_Epicor_Slave
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE epicor_slave , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
-
备份证书并互换
主机
BACKUP CERTIFICATE epicor_master TO FILE = 'D:\backup\epicor_master_cert.cer';
备机
BACKUP CERTIFICATE epicor_slave TO FILE = 'C:\backup\epicor_slave_cert.cer';
互换拷贝到本地路径(主机的备份文件拷到备机, 备机的备份文件拷到主机)
-
增加主备登录用户
主机
CREATE LOGIN epicor_slave_login WITH PASSWORD = '123456@genscript.com';
CREATE USER epicor_slave_login FOR LOGIN epicor_slave_login;
CREATE CERTIFICATE epicor_slave AUTHORIZATION epicor_slave_login FROM FILE = 'D:\backup\epicor_slave_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Epicor_Master TO epicor_slave_login;
备机
CREATE LOGIN epicor_master_login WITH PASSWORD = '123456@genscript.com';
CREATE USER epicor_master_login FOR LOGIN epicor_master_login;
CREATE CERTIFICATE epicor_master AUTHORIZATION epicor_master_login FROM FILE = 'C:\backup\epicor_master_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Epicor_Slave TO epicor_master_login;
-
主机备份并在备机恢复
主机
backup database Epicor905_yuanyong to disk= 'd:\backup\epicor905_yuanyong.bak'
with init
go
然后将备份文件拷到备机
备机
create database Epicor905_yuanyong;
restore database Epicor905_yuanyong from disk = 'c:\backup\epicor905_yuanyong.bak' with norecovery;
这一步可以使用图形界面操作:


注意初次备份可能需要勾选”with replace”,
一定要选”RESTORE WITH NORECOVERY”模式
-
增加镜像伙伴(注意先备机后主机)
备机
ALTER DATABASE Epicor905_yuanyong SET PARTNER = 'TCP://10.168.2.132:5022';
这一步不成功很有可能是第六步RESOTORE的时候没有选择”NORECOVERY”模式
主机
ALTER DATABASE Epicor905_yuanyong SET PARTNER = 'TCP://10.168.2.140:5022';
这一步如果不成功, 可能需要在主库在备份一次TRANSACTION LOG, 然后在备库恢复, 但注意也一定要用”NORECOVERY”模式
-
主备切换
主机
use master;
alter database Epicor905_yuanyong set partner failover;