(1)准备镜像数据库
1.在主数据库上,对需要备份的数据库做完全备份
BACKUP DATABASE XXX
TO DISK='D:\Tools\XXX.bak'
GO
2.在镜像数据库上,将主数据库上恢复XXX数据的备份,并使用NORECOVERY选项
RESTORE DATABASE XXX
FROM DISK='D:\Tools\XXX.bak' WITH NORECOVERY
GO
(切记要用NORECOVERY选项,不然无法镜像成功,如果是界面操作的话也不要忘记选择NORECOVERY选项)
(2)创建数据库镜像端点
1.在主数据库上,创建数据库镜像端点,用于伙伴通讯
CREATE ENDPOINT Mirroringport
AS TCP(LISTENER_PORT=5022)
FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)
GO
2.在镜像的数据库上,创建数据库镜像端点
CREATE ENDPOINT Mirroringport
STATE=STARTED
AS TCP (LISTENER_PORT=5022)
FOR DATABASE_MIRRORING (ROLE=ALL)
GO
(3)设置镜像
在主体服务器实例上,将镜像服务器实例设置为伙伴(使其成为初始镜像服务器实例)。
ALTER DATABASE xxx
SET PARTNER = N'TCP://HOST:5022';
GO
设置主体数据库在高安全模式下运行
ALTER DATABASE pubs SET SAFETY OFF
GO
在主体数据库执行手动故障转移
ALTER DATABASE pubs SET PARTNER FAILOVER
GO
最后,需要注意如果需要用域名来建立镜像的话,需要增加一个dns服务,把主题和镜像服务器的ip都加入进去,并设置好相应的主机名等信息。