误区.数据库镜像在故障发生后,马上就能发现 错误 市面上大肆宣传数据库镜像技术可以在故障发生后,立即检测到错误并进行故障转移。 但事实并不是这样,检测到故障发生的速度要取决于故障的类型。 检测故障发生的最快的情况是,镜像中的主体实例崩溃,从而镜像服务器每秒一次的PING就无法返回值,从而知道主体服务器上不再有这个进程侦听相应的TCP端口,这种情况下,镜像服务器几乎瞬间就能发现故障。 检测到故障发生第二快的情况是主体服务器的操作系统崩溃。此时主体服务器不再响应镜像服务器的PING,从而在镜像服务器PING超时后发现错误。这个超时的阈值默认是秒。但你也可以延长这个时间,这时,故障发生时间完全取决于PING的超时时间。 检测到故障第三快的情况是是主体的日志磁盘不可用,此时SQL SERVER仍然会发起IO请求,但秒IO等待无法写入日志后发现日志磁盘不可用,最终秒后宣告磁盘日志不可用,从而让镜像服务器上线。SQL SERVER是十分有耐心的,比如拿锁来说,SQL SERVER对于锁会无限等待,除非遇到死锁才进行干预。 还有,损坏页有可能完全不会引发故障,如果查询报了或是错误,镜像技术完全不会关注(SQL SERVER 之后这个问题得到修复: SQL Server : Automatic Page Repair with Database Mirroring),如果数据回滚的过程中遇到错误或是错误,数据库立刻会变为质疑状态,也就是日志和数据不统一。这也会导致镜像失败。 你在圣经上学习到的那些教条也不是需要完全遵循的嘛:-)
推荐整理分享SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能发现(sql server错误和使用情况报告),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sql server 1222解决,sql server 错误,sql语句错误提示,sql语句错误提示,sql server 错误,sql server 1222解决,sql server233错误,sql语句错误提示,内容如对您有帮助,希望把文章链接给更多的朋友!
SQL Server误区日谈 第天 镜像在检测到故障后瞬间就能故障转移 误区#:镜像在检测到故障后瞬间就能故障转移错误数据库镜像的故障转移既可以自动发起,也可以手动发起。在自动发起的情况下,是由镜像服务器执
SQL Server误区日谈 第天 TempDB的文件数和需要和CPU数目保持一致 误区#:TempDB的文件数和需要和CPU数目保持一致错误哎,由于上述误区是微软官方的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。
SQL Server误区日谈 第天 在SQL Server 兼容模式下不能使用DMV 误区#.在SQLServer兼容模式下不能使用DMV错误对于兼容模式已经存在了很多误解。的兼容模式的数据库是否意味着能够附加或恢复到SQLServer数据