公司想做数据库热备份,选择了SqlServer的镜像,但公司没有专门的DBA,这块工作被分到我头上了,没办法,只好客串了一回业余DBA。看文档,查资料,测试,排查解决问题,前前后后搞了2天! 现在将遇到的一些坑给记录下来,算是填坑备忘录吧,也给需要的兄弟一个参考。废话少说,上重点:
坑1:如果SqlServer的启动账户不是域账户,那要搞镜像就麻烦了,得搞证书验证,要写一些TSQL代码,啰嗦得黑纹。文章结尾会附上相关TSQL代码。
坑2:服务器网络地址“TCP://xxxxx”无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。(Microsoft SQL Server,错误:1418) 。这个错误也真是莫名其妙,ping也ping通了,telnet也tel通了,奶奶的,还是报错,按照百度出来的一堆方法,都没用。只得慢慢看SqlServer的日志,还有Windows事件日志。看到日志里面提到,登录端点失败,证书操作失败。猜想可能是权限不够,于是进行“SQL Server 配置管理器”》“SQL Server 服务”》“SQL Server (实例名)”》右击属性》选择“登录”面签》点内置账户》选择local system。 然后,不报错那个错了,却报了另一个错,提示 “无法设置镜像”。再百度,一些兄弟说,要设置两个服务器SqlServer的启动账号一模一样,登录名一样,密码一样。于是,就两边服务器都新建了一模一样的Windows账户,试了一下,真的行了,奶奶的。
坑3:设置两个服务器SqlServer的启动账号一模一样后,要重新从头操作配置镜像。