本文包含有关 System Center 2012 R2 Operations Manager 数据仓库中已进行的日志记录改进的信息,其中涉及SQL Server超时异常。 这些信息可用于排查SQL Server超时方案。

原始产品版本: System Center 2012 R2 Operations Manager
原始 KB 编号: 3029227

以下运行状况服务模块错误记录在 Operations Manager 日志中:

日志名称 - Operations Manager
源 - 运行状况服务模块
EventID - 31551
级别 - 错误
用户 - N/A
任务类别 - Data Warehouse
关键字 - 经典
未能在Data Warehouse中存储数据。 将重试该操作。

异常“SqlException”:超时已过期。 操作完成之前的超时时间段,或者服务器未响应。

以下一个或多个工作流受此影响:

工作流名称: Workflow_name
实例名称: Instance_name
实例 ID: Instance_ID
管理组: Management_group_name

未能在Data Warehouse中存储数据。 将重试该操作。

异常“SqlTimeoutException”:超时已过期。 操作完成之前的超时时间段,或者服务器未响应。

可能的错误消息:

消息 1
尝试将数据批量复制到 表Table_name 时超时。

消息 2
超时存储过程: Stored_procedure_name

当前超时值: Current_time-out_value_in_seconds

可以通过添加注册表项 (类型:dword 32 位,值:已修订超时(以秒为单位)来增加此超时) 命名:

HKLM \SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Data Warehouse 的Registry_name

以下一个或多个工作流受此影响:

工作流名称: Workflow_name
实例名称: Instance_name
实例 ID: Instance_ID
管理组: Management_group_name 未能在Data Warehouse中存储数据。
异常“SqlException”:超时已过期。 操作完成之前的超时时间段,或者服务器未响应。

以下一个或多个工作流受此影响:

工作流名称: Workflow_name
实例名称: Instance_name
实例 ID: Instance_ID
管理组: Management_group_name 未能在Data Warehouse中存储数据。 异常“SqlTimeoutException”:超时已过期。 操作完成之前的超时时间段,或者服务器未响应。

可能的错误消息:

消息 1
尝试将数据批量复制到 表Table_name 时超时。

消息 2
超时存储过程: Stored_procedure_name

当前超时值: Current_time-out_value_in_seconds

可以通过添加注册表项 (类型:dword 32 位,值:已修订超时(以秒为单位)来增加此超时) 命名:

HKLM \SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Data Warehouse 的Registry_name

以下一个或多个工作流受此影响:

工作流名称: Workflow_name
实例名称: Instance_name
实例 ID: Instance_ID
管理组: Management_group_name

SQL Server超时可能由于各种原因而发生。 在某些情况下,增加超时间隔的值可能有助于减少或消除超时事件。 若要增加超时间隔的值,请执行以下步骤:

  • 如“ 症状 ”部分中所述,检查 Operations Manager 日志中的事件 31551 和 31552。

  • 在说明中,检查 registry_name 。 这应该是下列操作之一:

  • 命令超时秒 - 数据仓库维护命令使用的超时值。
  • 批量插入命令超时秒 - 将大容量数据复制到数据仓库时使用的超时值。
  • Click Start > Run .

  • “打开 ”框中键入 regedit ,然后按 Enter。

  • 导航到注册表中的以下位置:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0

    添加 Data Warehouse 子项(如果尚不存在)。

  • 添加新的 DWORD (32 位) 值,并将其命名为 命令超时秒 批量插入命令超时秒 ,具体取决于你的情况。

  • 将此值设置为所需的超时间隔(以秒为单位)。 例如,对于 40 秒超时间隔,应将值设置为 40。

    建议以增量方式增加超时值,因为非常高的值可能会导致其他问题。 如果为超时间隔设置大量值无法解决问题,根本原因可能与此处所述的方案不同。

  •