KB4469942 - 修复:在SQL Server中运行“sp_cycle_agent_errorlog”存储过程时发生共享冲突

应用对象
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) 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 2014 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows

症状

假设你有一个定期计划的维护作业,可以在 2014 或 2016 Microsoft SQL Server 中停止和启动服务器的情况下循环使用错误日志文件。

例如,维护作业可能如下所示:


USE msdb ;  
GO  

EXEC dbo.sp_cycle_agent_errorlog ;  
GO

在此方案中,维护作业不会运行,并且你会收到类似于以下内容的错误消息:

注意

消息 22022,级别 16,状态 1,行 line_number
SQLServerAgent 错误: 32。
进程无法访问该文件,因为另一个进程正在使用该文件

解决方法

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

2017 SQL Server累积更新 22

SQL Server 2016 Service Pack 2 的累积更新 4

SQL Server 2014 SP3 的累积更新 4

SQL Server 2014 SP2 的累积更新 18

关于SQL Server生成

SQL Server的每个新版本都包含上一版本中的所有修补程序和安全修补程序。 建议为 SQL Server 安装最新版本:

SQL Server 2017 的最新累计更新

2016 SQL Server的最新版本

SQL Server 2014 年的最新累积更新

状态

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

参考资料

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