“数据库镜像”是一种提高 SQL Server 数据库的可用性的解决方案。其中包括:主数据库、镜像数据库以及见证数据库。
主数据库:当前数据库
镜像数据库:备用数据库
见证数据库:对主数据库以及镜像数据库进行心跳判断,主数据库出现问题可以进行故障转移,主换备,备换主。
配置方法:
1.通过域进行配置,注意数据库所在服务器之间可以通过相互进行通信。
2.通过证书的方式进行配置,分别在三个数据库上生成证书,然后将证书导入批次的服务中,这样才能使用证书进行通信。
错误1418检查(服务器通信失败):(1456的错误与1418错误类似,只不过是见证数据库与其他数据库的通信错误。s)
在cmd中可以使用 netstat -ano | findstr 5022 检查5022端口的通信状态
(1)检查管理员权限,是否数据库属于Administrator组中。在sqlserver服务(MS)中启动应该本地服务,不然需要在服务中添加管理员账号密码,添加完成后需要重启服务
(2)防火墙需要关闭
(3)hosts文件没有添加映射
(4)若为证书验证,则需要手动生成端点,并将端点与用户证书进行关联,否则会出现1418错误。
(5)备数据库状态是正在还原状态,并且刚刚将主数据库的完整数据、事务日志导入到被数据库中。
(6)配置的时候sqlserver数据库的管理员权限应该sysadmin状态
(7)对数据库安装目录中xplog70.dll和xpStar.dll文件权限对于当前管理员应该为完全控制
镜像数据库手工配置速度很快,如果开始镜像很久主数据库的状态没有改变,则说明配置出现错误。可以通过sqlserver日志进行查看具体错误。
正在恢复的数据库 需要通过以下命令执行才能进行镜像数据库的还原
alter database db_name set partner off;
以上为现网环境出现的错误进行总结,通过证书的方式最为靠谱,只是步骤较为繁琐。