KB3138455 - 修复:当版本控制清理任务在 SQL Server AlwaysOn 辅助副本 (replica) 上运行时出现“非生成计划程序”错误

应用对象
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

症状

假设您有一个运行Microsoft SQL Server 2014 或 2012 SP3 (32 核或更多核) 多核处理器。 当版本控制清理任务在 AlwaysOn 次要副本 (replica) 上运行时,CPU 使用率可能接近 100%。 此外,SQL Server 错误日志中还记录了一个类似于以下内容的“非生成计划程序”错误:

date time.80 服务器 使用“dbghelp.dll”版本“4.0.5”
date time.81 服务器 ***无法获取 spid 0 的线程上下文
date time.81 服务器 * *******************************************************************************
date time.81 服务器 *
date time.81 服务器 * 开始堆栈转储:
date time.81 服务器 * 日期时间 spid 2944
date time.81 服务器 *
date time.81 服务器 * 非生成计划程序
date time.81 服务器 *
date time.81 服务器 * *******************************************************************************
date time.81 转储的服务器堆栈签名已0x000000000000015F
date time.22 Server [INFO] Identity 开始结束 |状态 结果 错误 推测 已准备 LazyCommit ReadOnly |事务数据库 ThreadId |ReadSet WriteSet ScanSet 保存点 LogSizeRq |CommitDep TotalComm 依赖项 0 依赖项 1 依赖项 2 依赖项 3 依赖项 4 依赖项 5 依赖项 6 依赖项 7 |区域位置 |
date time.33 服务器外部转储进程返回代码 0x20000001。
date time.33 服务器进程 0:0:0 (0x32e8) 辅助角色0x0000000005B54160在计划程序 12 上似乎不生成。 线程创建时间:13094297045567。 大约使用的线程 CPU:内核 0 毫秒,用户 51979 毫秒。 进程利用率 2%。 系统空闲 97%。 间隔: 70153 ms.
date time.45 服务器进程 0:0:0 (0x32e8) 辅助角色0x0000000005B54160在计划程序 12 上似乎不生成。 线程创建时间:13094297045567。 大约使用的线程 CPU:内核 0 毫秒,用户 103459 毫秒。 进程利用率 2%。 系统空闲 97%。 间隔:136828 毫秒。
date time.58 服务器进程 0:0:0 (0x32e8) 辅助角色0x0000000005B54160在计划程序 12 上似乎不生成。 线程创建时间:13094297045567。 大约使用的线程 CPU:内核 0 毫秒,用户 146001 毫秒。 进程利用率 2%。 系统空闲 97%。 间隔:196951 毫秒。
date time.70 服务器进程 0:0:0 (0x32e8) 辅助角色0x0000000005B54160在计划程序 12 上似乎不生成。 线程创建时间:13094297045567。 大约使用的线程 CPU:内核 0 毫秒,用户 193269 毫秒。 进程利用率 2%。 系统空闲 97%。 间隔:257073 毫秒。

解决方法

此问题已首先在 SQL Server 的以下累积更新中修复:

SQL Server 2014 Service Pack 1 累积更新 6
        
         SQL Server 2012 SP3 累积更新 3
        
         SQL Server 2012 SP2 累积更新 12
        
      

关于 SQL Server 的累积更新

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2014 的最新累计更新
        
         SQL Server 2012 SP3 的最新累计更新
        
         SQL Server 2012 SP2 的最新累计更新 

解决方法

要暂时解决此问题,请重启运行 SQL Server 实例的计算机。

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的 术语 。