a、我们这里使用windows账号认证,需要设置主体和镜像的数据库启动账号密码为相同。
b、配置镜像服务
需要在主体和镜像服务器设置
CREATE ENDPOINT [Db_Mirror]
AUTHORIZATION [sa]
STATE=STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
FOR DATA_MIRRORING (ROLE = ALL, AUTHENTICATION = WINDOWS NTLM
, ENCRYPTION = SUPPORTED ALGORITHM RC4)
c、配置镜像端
alter database test set -----test是数据库名
partner='tcp://192.168.100.224:5022' -----主体Ip+端口
d、配置主体端
alter database test set -----test是数据库名
partner='tcp://192.168.100.224:5022' -----镜像Ip+端口
alter database test set -----test是数据库名
safety off
e 故障转移
1,手动故障转移
ALTER DATABASE databasename SET PARTNER FAILOVER
(安全模型必须是FULL)
2,强制性的故障转移
ALTER DATABASE databasename SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
3,重启数据库镜像
ALTER DATABASE databasename SET PARTNER RESUME
4,删除数据库镜像
ALTER DATABASE MirPopuUserSystem SET PARTNER OFF(A或B)
RESTORE DATABASE MirPopuUserSystem WITH RECOVERY(B)
f、涉及命令
停止镜像
alter database test set partner off -----test是数据库名
删除镜像端点
drop ENDPOINT Db_Mirror ----Db_Mirror是端点名
创建数据库快照
create database snp_test ----snp_test快照名
on(
name =test, ----被快照的数据库数据库逻辑文件名
filename=N'D:/snp_test.mdf' ----snp_test.mdf快照物理文件
)
as snapshot of test ----test是被快照的数据库
go
查询快照
select * from snp_test.dbo.tb1 ----查询快照跟普通查询一样
删除快照
drop database snp_test ----snp_test快照名