SCOM 2019 UR1错误26319:递归深度达100上限致OM控制台任务无法执行求助
解决SCOM 2019 UR1 Error 26319(递归溢出)的实用方案
结合我实际运维SCOM环境的经验,你遇到的这个Error 26319核心是SQL执行SCOM任务存储过程时,递归调用层级超过了默认的100次限制,导致SubmitTasks操作直接抛出异常。既然你已经确认数据库和SQL Server状态正常,下面给你几个针对性的解决思路:
1. 临时调整SQL递归限制(紧急恢复可用)
如果需要快速恢复控制台任务功能,可以先临时提高SQL实例的最大递归深度——这是临时 workaround,后续一定要跟进根本修复:
-- 开启高级配置选项 sp_configure 'show advanced options', 1; RECONFIGURE; -- 将最大递归深度设置为200(可按需调整,上限32767) sp_configure 'max recursion depth', 200; RECONFIGURE;
注意:这个设置是实例级的,会影响该SQL上的所有数据库,问题解决后建议改回默认的100,避免其他潜在风险。
2. 清理异常任务队列
SCOM任务队列里的过期、卡住或循环依赖任务,是触发递归溢出的常见原因:
- 在SCOM控制台中,进入监控 > 任务状态,定位会话ID为
uuid:2b45a189-343f-455d-b233-e9ab7c0a4d23;id=298的相关任务,手动终止或删除异常任务。 - 也可以直接在
OperationsManager数据库中操作(务必先备份数据库):
-- 查询所有未完成的任务 SELECT TaskId, Name, State, QueueTime FROM TaskQueue WHERE State != 2; -- 删除指定会话关联的任务 DELETE FROM TaskQueue WHERE RelatedSessionId = '2b45a189-343f-455d-b233-e9ab7c0a4d23';
3. 升级到SCOM 2019最新累积更新
SCOM 2019 UR1存在任务处理逻辑的已知缺陷,微软在后续的累积更新(比如UR9及以上版本)中修复了这个存储过程的递归问题。建议:
- 先在测试环境验证升级流程,确认无兼容性问题后,再在生产环境升级到最新UR版本。
- 升级完成后,重启所有管理服务器的
System Center Management Service和System Center Management Configuration Service。
4. 排查任务依赖链
自定义任务或部分内置任务可能存在意外的循环依赖,导致递归层级超标:
- 检查所有关联的任务模板,看是否存在任务嵌套调用自身、或形成闭环依赖的情况。
- 对于自定义任务,尽量简化依赖逻辑,避免多层嵌套调用。
5. 重启SCOM核心服务
有时候服务缓存的异常会导致任务处理逻辑紊乱,尝试重启以下服务:
- 所有管理服务器上的
System Center Management Service System Center Management Configuration Service- 重启后等待10-15分钟,再尝试执行控制台任务。
内容的提问来源于stack exchange,提问作者Gnana Balaji K
相关产品推荐
相关产品推荐

