Sqlserver 2005 配置 数据库镜像:数据库镜像期间可能出现的故障:镜像超时机制

数据库镜像期间可能出现的故障

SQL Server 2005
其他版本

更新日期: 2006 年 7 月 17 日

物理故障、操作系统故障或 SQL Server 故障都可能导致数据库镜像会话失败。数据库镜像不会定期检查 Sqlservr.exe 所依赖的组件来验证组件是在正常运行还是已出现故障。但对于某些类型的故障,受影响的组件将向 Sqlservr.exe 报告错误。由另一个组件报告的错误称为“硬错误”。为了检测可能未被注意的其他故障,数据库镜像采用了自己的超时机制。发生镜像超时时,数据库镜像将假定已发生故障并声明一个“软错误”。

ms190913.note(zh-cn,SQL.90).gif重要提示:
在数据库镜像会话中无法检测到数据库(除镜像数据库之外)故障。此外,也无法检测到数据磁盘故障,除非数据库因为数据磁盘故障而重新启动。

因此,错误检测的速度以及镜像会话对故障的反应时间取决于是硬错误还是软错误。系统可以立即报告某些硬错误,例如网络故障。但在某些情况下,特定于组件的超时期限可能会延迟报告某些硬错误。对于软错误,镜像超时期限的长度决定了错误检测的速度。默认情况下,此期限为 10 秒钟。这是建议的最小值。

030c41d9079671d09a62d8e2c1db6973.gif硬错误导致的故障

可能的硬错误原因包括(但不限于)下列几种情况:

  • 连接或网线断开
  • 网卡出现故障
  • 路由器更改
  • 防火墙更改
  • 端点重新配置
  • 事务日志驻留的驱动器丢失
  • 操作系统或进程故障

例如,如果主体数据库中的日志驱动器停止响应或失败,操作系统会通知 Sqlservr.exe 出现严重错误。

某些组件(如网络组件和某些 IO 子系统)使用它们自己的超时设置来确定故障。这些超时设置独立于数据库镜像,数据库镜像不了解它们,并且完全不能识别其行为。在这些情况下,超时延迟会延长发生故障与数据库镜像收到所引发硬错误之间的时间。

ms190913.note(zh-cn,SQL.90).gif注意:
出现软错误时,仅对数据库镜像执行活动的错误检查。有关详细信息,请参阅本主题后面的“软错误导致的故障”。

若要了解网络出现的错误情况,请咨询网络工程师,询问当 TCP 连接发生下列事件时,哪些错误消息会发送到端口:

  • DNS 未运行。
  • 网线被拔掉。
  • Microsoft Windows 防火墙阻止了特定端口。
  • 监视端口的应用程序出现故障。
  • 重命名基于 Windows 的服务器。
  • 重新启动基于 Windows 的服务器。
ms190913.note(zh-cn,SQL.90).gif注意:
镜像无法避免与客户端访问服务器相关的问题。例如,假设由公用网络适配器处理与主体服务器实例的客户端连接,而由专用网络接口卡处理服务器实例之间的所有镜像通信流量。此时,尽管数据库可以继续进行镜像,但公用网络适配器的故障将防止客户端访问数据库。

030c41d9079671d09a62d8e2c1db6973.gif软错误导致的故障

导致镜像超时的情况包括(但不限于)下列各项:

  • 诸如 TCP 链接超时、数据包被删除或损坏或数据包顺序错误等网络错误。
  • 操作系统、服务器或数据库处于挂起状态。
  • Windows 服务器超时。
  • 计算资源不足,例如 CPU 或磁盘超负荷运转,事务日志填满,或系统用完内存或线程。在这些情况下,需要增加超时期限、降低工作负荷或更换硬件以处理相应的工作负荷。 

镜像超时机制

由于软错误不能由服务器实例直接检测到,因此,软错误可能导致服务器实例无限期等待。为了防止发生这种情况,数据库镜像采用了它自己的超时机制,此机制基于镜像会话中的每个服务器实例会在每个开放连接上按固定间隔发送 ping。

为了使连接保持开放,服务器实例必须能够在超时期限内在该连接上接收到 ping,此期限为定义的镜像超时时间再加上再发送一个 ping 所需的时间。在超时期限内收到 ping 指示连接仍是开放的,且服务器实例正在通过此连接进行通信。接收到 ping 后,服务器实例将重置此连接上的超时计数器。

如果未在超时期限内从此连接上收到 ping,则服务器实例认为此连接已超时。服务器实例将关闭超时连接,然后根据会话的状态和运行模式处理超时事件。

即使其他服务器实际工作正常,超时也被认为是一个故障。如果会话的超时值太短而不能使任一伙伴做出正常响应,则会产生虚假故障。如果一个服务器实例成功地与另一个服务器实例实现通信,但后者的响应时间太短,以致于无法在超时期限过期之前接收到 ping,则会产生错误故障。

在高性能模式会话中,超时期限始终为 10 秒钟。通常,该期限足以避免虚假故障。在高安全性模式会话中,默认超时期限为 10 秒钟,但您可以更改该持续时间。为了避免虚假故障,建议镜像超时期限始终为 10 秒钟或更长。

更改超时值(仅限于高安全性模式)

  • 使用 ALTER DATABASE <database> SET PARTNER TIMEOUT <integer> 语句。

查看当前超时值

  • 在 sys.database_mirroring 中查询 mirroring_connection_timeout。 
030c41d9079671d09a62d8e2c1db6973.gif响应错误

无论出现何种错误类型,检测到错误的服务器都会根据实例的角色、会话运行模式以及会话中任何其他连接的状态做出相应的响应。有关丢失伙伴后会发生的情况的信息,请参阅同步数据库镜像(高安全性模式)或异步数据库镜像(高性能模式)。

030c41d9079671d09a62d8e2c1db6973.gif请参阅

概念

自动故障转移 
异步数据库镜像(高性能模式) 
数据库镜像会话 
同步数据库镜像(高安全性模式) 

帮助和信息

获取 SQL Server 2005 帮助
030c41d9079671d09a62d8e2c1db6973.gif更改历史记录

发布日期历史记录

2006 年 7 月 17 日

新增内容:
  • 添加了有关查看当前超时值的信息
更改的内容:
  • 扩充了简介内容。

2006 年 4 月 14 日

更改的内容:
  • 大幅度修改了“硬错误导致的故障”部分和“软错误导致的故障”部分的介绍。

2005 年 12 月 5 日

更改的内容:
  • 扩大了硬错误的讨论范围,包括添加了有关 TCP 连接的重要事件列表。 
  • 修改了典型硬错误和软错误的列表。

转载于:https://www.cnblogs.com/jinzhenshui/archive/2011/08/03/2126112.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

江西理工大学期末试卷c语言,2016年江西理工大学信息工程学院计算机应用技术(加试)之C语言程序设计复试笔试最后押题五套卷...

一、选择题1&#xff0e; 设有函数定义&#xff1a;( )。A. B. C. D. 答:A则以下对函数sub 的调用语句中&#xff0c;正确的是【解析】函数的参数有两个&#xff0c;第一个是整型&#xff0c;第二个是字符类型&#xff0c;在调用函数时&#xff0c;实参必须一个是整型&#xff…

第十三章 数据库支持

第十三章 数据库支持 本章讨论Python数据库API&#xff08;一种连接到SQL数据库的标准化方式&#xff09;&#xff0c;并演示如何使用这个API来执行一些基本的SQL。最后&#xff0c;本章将讨论其他一些数据库技术。 关Python支持的数据库清单 Python数据库API 标准数据库API…

【神经网络八股扩展】:自制数据集

课程来源&#xff1a;人工智能实践:Tensorflow笔记2 文章目录前言1、文件一览2、将load_data()函数替换掉2、调用generateds函数4、效果总结前言 本讲目标:自制数据集&#xff0c;解决本领域应用 将我们手中的图片和标签信息制作为可以直接导入的npy文件。 1、文件一览 首先看…

java 批量处理 示例_Java中异常处理的示例

java 批量处理 示例Here, we will analyse some exception handling codes, to better understand the concepts. 在这里&#xff0c;我们将分析一些异常处理代码 &#xff0c;以更好地理解这些概念。 Try to find the errors in the following code, if any 尝试在以下代码中…

hdu 1465 不容易系列之一

http://acm.hdu.edu.cn/showproblem.php?pid1465 今天立神和我们讲了错排&#xff0c;才知道错排原来很简单&#xff0c;从第n个推起&#xff1a; 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置…

第十四章 网络编程

第十四章 网络编程 本章首先概述Python标准库中的一些网络模块。然后讨论SocketServer和相关的类&#xff0c;并介绍同时处理多个连接的各种方法。最后&#xff0c;简单地说一说Twisted&#xff0c;这是一个使用Python编写网络程序的框架&#xff0c;功能丰富而成熟。 几个网…

c语言输出11258循环,c/c++内存机制(一)(转)

一&#xff1a;C语言中的内存机制在C语言中&#xff0c;内存主要分为如下5个存储区&#xff1a;(1)栈(Stack)&#xff1a;位于函数内的局部变量(包括函数实参)&#xff0c;由编译器负责分配释放&#xff0c;函数结束&#xff0c;栈变量失效。(2)堆(Heap)&#xff1a;由程序员用…

【神经网络八股扩展】:数据增强

课程来源&#xff1a;人工智能实践:Tensorflow笔记2 文章目录前言TensorFlow2数据增强函数数据增强网络八股代码&#xff1a;总结前言 本讲目标:数据增强&#xff0c;增大数据量 关于我们为何要使用数据增强以及常用的几种数据增强的手法&#xff0c;可以看看下面的文章&#…

C++:从C继承的标准库

C从C继承了的标准库 &#xff0c; 这就意味着 C 中 可以使用的标准库函数 在C 中都可以使用 &#xff0c; 但是需要注意的是 &#xff0c; 这些标准库函数在C中不再以 <xxx.h> 命名 &#xff0c; 而是变成了 <cxxx> 。 例如 &#xff1a; 在C中操作字符串的…

分享WCF聊天程序--WCFChat

无意中在一个国外的站点下到了一个利用WCF实现聊天的程序&#xff0c;作者是&#xff1a;Nikola Paljetak。研究了一下&#xff0c;自己做了测试和部分修改&#xff0c;感觉还不错&#xff0c;分享给大家。先来看下运行效果&#xff1a;开启服务&#xff1a;客户端程序&#xf…

c# uri.host_C#| 具有示例的Uri.Equality()运算符

c# uri.hostUri.Equality()运算符 (Uri.Equality() Operator) Uri.Equality() Operator is overloaded which is used to compare two Uri objects. It returns true if two Uri objects contain the same Uri otherwise it returns false. Uri.Equality()运算符已重载&#xf…

第六章至第九章的单元测试

1,‌助剂与纤维作用力大于纤维分子之间的作用力,则该助剂最好用作() 纤维增塑膨化剂。 2,助剂扩散速率快,优先占领纤维上的染座,但助剂与纤维之间作用力小于染料与纤维之间作用力,该助剂可以作为() 匀染剂。 3,助剂占领纤维上的染座,但助剂与纤维之间作用力大于染…

【神经网络扩展】:断点续训和参数提取

课程来源&#xff1a;人工智能实践:Tensorflow笔记2 文章目录前言断点续训主要步骤参数提取主要步骤总结前言 本讲目标:断点续训&#xff0c;存取最优模型&#xff1b;保存可训练参数至文本 断点续训主要步骤 读取模型&#xff1a; 先定义出存放模型的路径和文件名&#xff0…

开发DBA(APPLICATION DBA)的重要性

开发DBA是干什么的&#xff1f; 1. 审核开发人员写的SQL&#xff0c;并且纠正存在性能问题的SQL ---非常重要 2. 编写复杂业务逻辑SQL&#xff0c;因为复杂业务逻辑SQL开发人员写出的SQL基本上都是有性能问题的&#xff0c;与其让开发人员写&#xff0c;不如DBA自己写。---非常…

javascript和var之间的区别?

You can define your variables in JavaScript using two keywords - the let keyword and the var keyword. The var keyword is the oldest way of defining and declaring variables in JavaScript whereas the let is fairly new and was introduced by ES15. 您可以使用两…

小米手环6NFC安装太空人表盘

以前看我室友峰哥、班长都有手环&#xff0c;一直想买个手环&#xff0c;不舍得&#xff0c;然后今年除夕的时候降价&#xff0c;一狠心&#xff0c;入手了&#xff0c;配上除夕的打年兽活动还有看春晚京东敲鼓领的红包和这几年攒下来的京东豆豆&#xff0c;原价279的小米手环6…

计算机二级c语言题库缩印,计算机二级C语言上机题库(可缩印做考试小抄资料)...

小抄,答案,形成性考核册,形成性考核册答案,参考答案,小抄资料,考试资料,考试笔记第一套1.程序填空程序通过定义学生结构体数组&#xff0c;存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组&#xff0c;按照姓名的字典序(从小到大排序…

为什么两层3*3卷积核效果比1层5*5卷积核效果要好?

目录1、感受野2、2层3 * 3卷积与1层5 * 5卷积3、2层3 * 3卷积与1层5 * 5卷积的计算量比较4、2层3 * 3卷积与1层5 * 5卷积的非线性比较5、2层3 * 3卷积与1层5 * 5卷积的参数量比较1、感受野 感受野&#xff1a;卷积神经网络各输出特征像素点&#xff0c;在原始图片映射区域大小。…

算法正确性和复杂度分析

算法正确性——循环不变式 算法复杂度的计算 方法一 代换法 —局部代换 这里直接对n变量进行代换 —替换成对数或者指数的情形 n 2^m —整体代换 这里直接对递推项进行代换 —替换成内部递推下标的形式 T(2^n) S(n) 方法二 递归树法 —用实例说明 —分析每一层的内容 —除了…

第十五章 Python和Web

第十五章 Python和Web 本章讨论Python Web编程的一些方面。 三个重要的主题&#xff1a;屏幕抓取、CGI和mod_python。 屏幕抓取 屏幕抓取是通过程序下载网页并从中提取信息的过程。 下载数据并对其进行分析。 从Python Job Board&#xff08;http://python.org/jobs&#x…