1.telnet 镜像服务器IP port,是正常的
2.主机和镜像的数据库都是正常的,这样子看来是两台主机的证书出了问题了。
3.查看主机和镜像DB的日志,终于在镜像端有收获,
Database Mirroring login attempt Failed with error: 'Connection handshake Failed. The certificate used by this endpoint was not found: Certificate expired. Use DBCC CHECKDB in master database to verify the Metadata integrity of the endpoints. State 85.'. [CLIENT: xxx.xxx.xxx.xxx]标注了颜色的字体说明,证书失效了。 因为主机和镜像是一起做的,所以证书都失效了
4.查看证书
select name,start_date,expiry_datefrom sys.certificateswhere name not like '##%';发现其失效时间已经过去2个多礼拜了,但是日志错误今天才爆出,预计是镜像没有断开之前DB是允许一段时间用户去调整证书的,直到镜像断开
解决方案:
需要对证书进行重新生成更新,重做对生产并不会产生影响,但为了尽避免高峰 *** 作,选择晚上处理。
系统里总共有4个DB涉及镜像,重做证书再切换发现切不过去,索性重新做了一遍镜像。
1.删除镜像
--删除镜像过程--删除端点select * from sys.endpoints;drop endpoint Endpoint_Mirroring;--删除证书select * from sys.certificatesdrop certificate HOST_A_cert;drop certificate HOST_B_cert;--删除master keyselect * from sys.symmetric_keys ;DROP MASTER KEY;select * from sys.syslogins ;select * from sysusers;--删除登陆和用户DROP LOGIN HOST_A_logindrop user HOST_A_user--取消镜像alter database eol_xcsh set partner off;2.生成镜像 参考:http://my.oschina.net/Kenyon/blog/53469 注意:重新生成证书的时候最好指定失效日期,并设大一点,不然默认是一年的,时间到了再去重设就麻烦了。 总结
以上是内存溢出为你收集整理的SqlServer2008镜像证书过期处理全部内容,希望文章能够帮你解决SqlServer2008镜像证书过期处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)