在 SQL Server 2012年和 2014 SQL Server AlwaysOn 租约超时可支持性的改进

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3112363
症状
此更新包括以下 Microsoft SQL Server AlwaysOn 租约超时可支持性的改进︰
  • 现在,租约超时消息显示并记录的当前时间和预期的续订时间。
  • 借用工作人员清楚地表明租约超时的原因,添加了一个新的错误消息。
  • 添加新的扩展的事件和借用工作人员的新的环形缓冲区。这些清楚地表明租约阶段。
解决方案
首先,对于 SQL Server 在下面的服务包对问题已修复。
有关 SQL Server 2012 Service Pack 3 (SP3) 的详细信息,请参阅 SQL Server 2012 Service Pack 3 中修复的错误.

有关 SQL Server 的服务包

Service pack 具有累积性。每个新服务包中包含以前的服务包,以及任何新的解决办法中的所有修补程序。我们的推荐是应用最新的 service pack 和该 service pack 累积更新。在安装最新的服务包之前不需要安装上一个服务包。查找有关的最新服务包和最新的累积更新的更多信息下面文章中使用表 1。

如何确定版本、 版本、 更新 SQL Server 的级别和其组件
更多信息
若要提供其他观点,新的错误消息已添加到 SQL Server。下表列出并解释每个。

错误错误消息原因纠正措施
19419可用性组之间的租约的续订 %。 * ls 和 Windows Server 故障转移群集失败,因为现有租约将不再有效。SQL Server 端借用工作人员未没有获得计划按时处理从群集事件信号。请检查服务器上的 CPU 利用率,为租赁工作似乎会使 SQL Server。
19420可用性组 ' %。 * ls' 明确要求停止租约续订。租约续订正在停止作为使脱机可用性组的一部分。这仅用于提供信息。
19421可用性组之间的租约的续订 %。 * ls 和 Windows Server 故障转移群集失败,因为续订租约间隔内没有发生。按时,群集一侧租用帮助未向 SQL Server 借用工作人员发送信号。请检查相应的可用性组资源,是否它报告任何错误,请参阅 WSFC 群集中。
19422可用性组之间的租约的续订 %。 * ls' Windows Server 故障转移群集失败与错误代码 (%d) 的 windows 错误。SQL Server 端借用工作人员无法续订租约,因为 windows 错误。检查 windows 错误代码,并采取纠正措施。
19423租约的可用性组 ' %。 * ls 的租约将不再有效启动租约续订过程。当开始处理过多的租约时间借用工作人员提供在线调用租赁已过期。这可能由于排产问题发生了变化。请检查服务器上的 CPU 利用率,为租赁工作似乎会使 SQL Server。
19424借用工作人员的可用性组 ' %。 * ls' 现在处于睡眠状态在线过程中提供过多的租约时间 (%u 个毫秒)。这是信息性消息。不需要任何用户操作。信息性。分配到启动租约续订线程和作为可用性组联机例程的一部分额外在线的时间。

错误 19419 的例子︰如果使用调试器附加到 SQL Server 时,它会中断任何处理 SQL Server 进程中的线程直到您恢复 SQL Server 进程。当恢复 SQL Server 时,以下被报告在 SQL Server 错误日志中︰

<Date time=""></Date>服务器错误︰ 19419,严重性︰ 16,状态︰ 1。
<Date time=""></Date>服务器 Windows Server 故障转移群集未收到来自租约超时期限内托管可用性组 ag SQL Server 进程事件信号。
<Date time=""></Date>服务器错误︰ 19407,严重性︰ 16,状态︰ 1。
<Date time=""></Date>服务器可用性组 ag 和 Windows Server 故障转移群集之间的租约已到期。SQL Server 的实例和 Windows Server 故障转移群集之间发生连接性问题。确定是否通过正确失败的可用性组,请检查 Windows Server 故障转移群集中的相应可用性组资源。
<Date time=""></Date>服务器 AlwaysOn︰ 可用性组 ag' 的本地复制副本已进入脱机状态,因为任何一个租约过期或租约续订失败。这是信息性消息。不需要任何用户操作。
<Date time=""></Date>服务器可用性组 ag 中的本地可用性复制副本的状态已更改从 PRIMARY_NORMAL RESOLVING_NORMAL。由于启动、 故障转移、 通信有问题或群集错误更改复制副本状态。有关详细信息,请参阅可用性组仪表板、 SQL Server 错误日志、 Windows Server 故障转移群集管理控制台或 Windows Server 故障转移群集日志。

因为 SQL Server 没有响应群集服务,则返回 19419 错误。您还可能收到 19419 错误以及租约超时错误消息 (19407)。

19424 错误的示例︰ 下面是报告为主要角色的可用性组转换之前,紧挨过多的租约时间消息︰

<Date time=""></Date>服务器租用工作人员的可用性组 ag' 现在处于睡眠状态联机过程中提供过多的租约时间 (164766 毫秒为单位)。这是信息性消息。不需要任何用户操作。
<Date time=""></Date>服务器可用性组 ag 中的本地可用性复制副本的状态已更改从 PRIMARY_PENDING PRIMARY_NORMAL。由于启动、 故障转移、 通信有问题或群集错误更改复制副本状态。有关详细信息,请参阅可用性组仪表板、 SQL Server 错误日志、 Windows Server 故障转移群集管理控制台或 Windows Server 故障转移群集日志。

Availability_group_lease_expiredhadr_ag_lease_renewal XEvents 已经过改进,加上提供有关租约的条件的详细信息的数据点。下表描述了这些 XEvents 的改进︰

XEvent新列说明
availability_group_lease_expiredcurrent_time在租约过期的时间
availability_group_lease_expirednew_timeout超时时间时引发 availability_group_lease_expired,current_time 大于 new_timeout
availability_group_lease_expired状态租用阶段︰ 请参见下面的租约阶段表
hadr_ag_lease_renewal状态hadr_ag_lease_renewal
hadr_ag_lease_renewal错误代码如果状态为 HadrLeaseRenewal_FailedWithWindowsError 错误代码是与失败关联的 Windows 错误代码
租约阶段和定义

下表列出可能的租约阶段并解释及其功能︰

阶段名称说明
HadrLeaseRenewal_LeaseWorkerStarted租用启动辅助线程。
HadrLeaseRenewal_StartedExcessLeaseSleep开始过多的租约。过多的租约阶段文档可用性组的联机阶段开始租用线程。
HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease我们如果过多的租约已经到期租约。
HadrLeaseRenewal_SkipExcessSleep我们跳过过多的租约,如果可用于睡眠的持续时间小于租约时间间隔。没有必要去通过过多的租约刚开始手晃动过程。
HadrLeaseRenewal_ExcessSleepSucceeded过多的租约已成功。
HadrLeaseRenewal_RenewSucceeded我们应该看到这与每次续订。
HadrLeaseRenewal_LeaseNotValid相当于错误︰ 19419

Windows Server 故障转移群集未收到来自托管可用性组 SQL Server 进程事件信号 %。 * 1 ! 的租约超时时间内。
HadrLeaseRenewal_StopLeaseRenewal在故障转移期间,您应该看到这样。
HadrLeaseRenewal_LeaseExpired相当于错误︰ 19421

SQL Server 主机可用性组 ' %。 * ls' 未收到进程事件信号来自 Windows Server 故障转移群集租约超时期限内。
HadrLeaseRenewal_FailedWithWindowsError由于 windows 错误,租约续订失败。

有关详细信息,请参阅 改进的 AlwaysOn 可用性组租约超时诊断.

有关租约超时的详细信息,请参阅 它的工作原理︰ SQL Server AlwaysOn 租约超时.
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

警告:本文已自动翻译

属性

文章 ID:3112363 - 上次审阅时间:07/11/2016 16:59:00 - 修订版本: 4.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3112363 KbMtzh
反馈