MSSQLSERVER_19421
详细信息
| Attribute | 值 |
|---|---|
| 产品名称 | SQL Server |
| 事件 ID | 19421 |
| 事件源 | MSSQLSERVER |
| 组件 | SQLEngine |
| 符号名称 | HADR_AG_LEASE_RENEWAL_TIMEOUT |
| 消息正文 | SQL Server托管可用性组 '%.*ls' 在租用超时期限内未收到来自 Windows Server 故障转移群集的进程事件信号。 |
说明
当 Windows 群集端的租用帮助程序未在预定义租用期内发出SQL Server租约工作线程的信号时,SQL Server错误日志中会引发错误 19421。 具体而言,SQL Server调用 WaitForMultipleObjects () ,等待将租用超时事件设置为信号状态。 如果函数返回WAIT_TIMEOUT,因为它已超出指定的租用间隔,则引发错误 19421。
租约是在SQL Server与 Windows Server 故障转移群集 (WSFC) 进程(尤其是RHS.EXE进程)之间发生的基于时间的通信机制。 这两个进程定期相互通信,以确保另一个进程正在运行并做出响应。 此通信使用 Windows 事件对象 进行,并确保在 WSFC 不知情的情况下不会发生 AG 资源的故障转移。 如果其中一个进程不响应基于预定义租用期的租约通信,则会发生租约超时。 有关详细信息,请参阅 租用机制。 另请参阅工作原理:SQL Server AlwaysOn 租约超时
此错误与其他租用超时错误相关,并提供错误 MSSQLSERVER_19407
原因
由于 Windows 事件是轻量级同步对象,因此对它们产生负面影响的外部因素相对较少。 可能导致租用超时的典型问题涉及系统范围的问题。 下面是可能导致租约过期并导致重启或故障转移的可能性列表:
- 系统上的高 CPU 使用率 (接近 100%)
- 内存不足情况 - 虚拟内存不足和/或其中一个进程正在分页
- SQL Server进程在生成大型内存转储时未响应
- WSFC 脱机 (例如由于仲裁丢失)
用户操作
检查 WSFC 群集中的相应可用性组资源,以查看它是否报告了任何错误。
有关详细的故障排除,请参阅 MSSQLSERVER_19407 中的用户操作
- 排查 CPU 使用率过高的问题
- 排查内存不足问题
- 减少或避免SQL Server或群集进程的大内存转储
- 检查虚拟机 (VM) 配置是否过度预配
- 检查导致问题的虚拟机 (VM) 迁移或备份
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




