代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
数据库
>
MsSql
>
SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能发现
时间:2021-08-17 07:33:15 | 栏目:
MsSql
| 点击:次
误区10.数据库镜像在故障发生后,马上就能发现
错误
市面上大肆宣传数据库镜像技术可以在故障发生后,立即检测到错误并进行故障转移。
但事实并不是这样,检测到故障发生的速度要取决于故障的类型。
检测故障发生的最快的情况是,镜像中的主体实例崩溃,从而镜像服务器每秒一次的PING就无法返回值,从而知道主体服务器上不再有这个进程侦听相应的TCP端口,这种情况下,镜像服务器几乎瞬间就能发现故障。
检测到故障发生第二快的情况是主体服务器的操作系统崩溃。此时主体服务器不再响应镜像服务器的PING,从而在镜像服务器PING超时后发现错误。这个超时的阈值默认是10秒。但你也可以延长这个时间,这时,故障发生时间完全取决于PING的超时时间。
检测到故障第三快的情况是是主体的日志磁盘不可用,此时SQL SERVER仍然会发起IO请求,但20秒IO等待无法写入日志后发现日志磁盘不可用,最终40秒后宣告磁盘日志不可用,从而让镜像服务器上线。SQL SERVER是十分有耐心的,比如拿锁来说,SQL SERVER对于锁会无限等待,除非遇到死锁才进行干预。
还有,损坏页有可能完全不会引发故障,如果查询报了823或是824错误,镜像技术完全不会关注(SQL SERVER 2008之后这个问题得到修复: SQL Server 2008: Automatic Page Repair with Database Mirroring),如果数据回滚的过程中遇到823错误或是824错误,数据库立刻会变为质疑状态,也就是日志和数据不统一。这也会导致镜像失败。
你在圣经上学习到的那些教条也不是需要完全遵循的嘛:-)
您可能感兴趣的文章:
mssql关于一个表格结构的另外一种显示(表达意思不变)
SQL进行排序、分组、统计的10个新技巧分享
Sql学习第三天――SQL 关于with ties介绍
Microsoft SQL Server 2012 数据库安装图解教程
SQL Server 2008 R2登录失败的解决方法
相关文章
01-12
SQLserver中cube:多维数据集实例详解
11-05
sqlserver常用命令行操作(启动、停止、暂停)
10-05
SqlServer Mysql数据库修改自增列的值及相应问题的解决方案
12-03
T-SQL 查询语句的执行顺序解析
10-03
SQL数据库存储过程示例解析
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长