Sqlserver 2012 容灾方案 镜像故障转移(非域设置) 见证服务器设置篇
程序员文章站
2022-04-09 23:12:51
...
Sqlserver 2012 容灾方案 镜像故障转移(非域设置) 介绍
见证服务器是在 主机和镜像设置完成后 才设置的
Sqlserver 2012 容灾方案 镜像故障转移(非域设置) 主机设置篇
Sqlserver 2012 容灾方案 镜像故障转移(非域设置)镜像设置篇
1~22 请参照 主机和镜像设置篇
23)创建主** 密码与主机一样
USE master
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'ABC12345';
24)创建证书
CREATE CERTIFICATE CertC
WITH SUBJECT = 'CertC ',
EXPIRY_DATE ='2119-1-1' ;
GO
25)授权端点
CREATE ENDPOINT DatabaseMirroring
STATE = STARTED AS TCP ( LISTENER_PORT=5022 )
FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE CertC , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
26)备份证书
出现创建权限问题参考主机 【备份证书】
BACKUP CERTIFICATE CertC
TO FILE = 'C:\Shares\Certs\CertC.cer'
把Certc.cer 放到 主机和镜像机 各一份 把CertA.cer和CertB.cer 文件拷到见证机文件下
三台服务器同时拥有图中的三个文件
27)在见证机器上创建 主机和镜像机的用户
USE master;
--主机
CREATE LOGIN LoginA WITH PASSWORD = 'himm';
GO
CREATE USER UserA FOR LOGIN LoginA;
GO
CREATE CERTIFICATE CertA
AUTHORIZATION UserA
FROM FILE = 'C:\Shares\Certs\CertA.cer'
GO
GRANT CONNECT ON ENDPOINT::DatabaseMirroring
TO LoginA;
GO --镜像
CREATE LOGIN LoginB WITH PASSWORD = 'himm';
GO
CREATE USER UserB FOR LOGIN LoginB;
GO
CREATE CERTIFICATE CertB AUTHORIZATION UserB FROM FILE = 'C:\Shares\Certs\CertB.cer'
GO
GRANT CONNECT ON ENDPOINT::DatabaseMirroring TO LoginB;
GO
28)主机上创建见证机账户和端点
需要在主机上运行
USE master;
CREATE LOGIN LoginC WITH PASSWORD = 'himm';
GO
CREATE USER UserC FOR LOGIN LoginC;
GO
CREATE CERTIFICATE CertC AUTHORIZATION UserC FROM FILE = 'C:\Shares\Certs\CertC.cer'
GO
GRANT CONNECT ON ENDPOINT::DatabaseMirroring TO LoginC;
GO
29)镜像机创建见证机账户端点
需要在镜像机上运行
USE master;
CREATE LOGIN LoginC WITH PASSWORD = 'himm';
GO
CREATE USER UserC FOR LOGIN LoginC;
GO
CREATE CERTIFICATE CertC AUTHORIZATION UserC FROM FILE = 'C:\Shares\Certs\CertC.cer'
GO
GRANT CONNECT ON ENDPOINT::DatabaseMirroring TO LoginC;
GO
30)在主机加入见证机IP
执行完这一步 设置完成
ALTER DATABASE ciTreat SET WITNESS = 'TCP://见证机IP或电脑名:5022'
到这里 已经完成了 三台服务器的搭配
应用端连接
在ADO.net中
<TIACSDBConnection>Data Source=USER-DFMJP2JB4S;Failover Partner=CC3L2FO67DPHD1V;Initial Catalog=ciTreat;Integrated Security=true;persist security info=True;User Id=sa;aaa@qq.com;Pooling = True;Min Pool Size=100;Max Pool Size=1000;MultipleActiveResultSets=True;App=EntityFramework</TIACSDBConnection>
这里要画一个重点
Data Source 和Failover Partner 的值最好与主服务器(图 )设置名称一致 可以提高至少50% 应用端切换效率
切换
当主服务器恢复后 镜像服务器会成为主机 需要把主机切换回主服务器
USE master;
ALTER DATABASE ciTreat SET PARTNER SAFETY FULL;--高安全模式切换
ALTER DATABASE ciTreat SET PARTNER FAILOVER;--主备切换
切换之前 一定要确认 是否同步完成 并不是主机恢复了 就可以切换 数据需要同步的时间
同步完成 才可以切换
~~~~~~~~~~~~~~~~结束~~~~~~~~~~~~~~~~
下一篇: VBA筛选AutoFilter用法