角色切换
自动切换:在使用见证服务器的情况下,数据库必须已经同步,并且见证服务器必须和镜像服务器连接正常。
手动切换:在高安全性模式下,主体服务器和镜像服务器必须保持互联,并且数据库必须已经同步。
强制服务:在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器出现故障而镜像服务器可用,则可以强制服务运行。这种方式可能导致某些数据库丢失。
备份主机还原镜像
配置数据库镜像前的数据库准备
1、 确认数据库使用了完整恢复模式:打开SQL Server Management,在DB数据库(将要镜像的数据库)上点击右键选择属性,定位到选项页,将恢复模式改为“完整”
2、 备份主体数据库:在DB数据库上点击右键——任务——备份,备份类型选择完整
3、将备份文件拷贝到镜像节点,执行还原。右键点击数据库,选择还原数据库,选定备份文件,写入还原数据库名称,注意此数据库名称必须与主体服务器数据库名称一致。即DB。
点击选项页,勾选覆盖现有数据库。选择NORECOVERY模式
4、进行完整日志备份
执行backup LOG DB to Disk = 'c:\backup\vlogback.bak'
5、同样,事务日志备份在镜像数据库上还原。镜像数据库上,点击右键——任务——还原——事务日志
6、在还原选项中选中NORECOVERY,执行还原操作。
配置安全链接
配置出站连接
为出站连接配置 Host_A
在 master 数据库中,按需创建数据库主密钥。
USE master;
--DROP MASTERKEY
CREATE MASTERKEY ENCRYPTION BY PASSWORD ='1qaz!QAZ';
GO
为此服务器实例制作一个证书。
USE master;
CREATE CERTIFICATEHOST_A_cert
WITH SUBJECT = 'HOST_A certificate for database mirroring',
EXPIRY_DATE = '11/30/2093';
GO
使用该证书为服务器实例创建一个镜像端点。
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP(
LISTENER_PORT=7024
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING(
AUTHENTICATION=CERTIFICATE HOST_A_cert
, ENCRYPTION = REQUIREDALGORITHM AES
, ROLE = ALL
);
GO
备份 HOST_A 证书,并将其复制到其他系统,即 HOST_B。
BACKUP CERTIFICATEHOST_A_cert TO FILE = 'E:\HOST_A_cert.cer';
GO
使用任一安全的复制方法,将'E:\HOST_A_cert.cer' 复制到 HOST_B。
为出站连接配置 Host_B
在 master 数据库中,按需创建数据库主密钥。
USE master;
CREATE MASTERKEY ENCRYPTION BY PASSWORD ='1qaz!QAZ';
GO
为 HOST_B 服务器实例制作一个证书。
CREATE CERTIFICATEHOST_B_cert
WITH SUBJECT = 'HOST_B certificate for database mirroring',
EXPIRY_DATE = '11/30/2093';
GO
在 HOST_B 中为服务器实例创建一个镜像端点。
CREATE ENDPOINTEndpoint_Mirroring
STATE = STARTED
AS TCP(
LISTENER_PORT=7024