KB4469942 - 修正:當「sp_cycle_agent_errorlog」儲存程序在 SQL Server 中執行時,會發生共享違規

套用到
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

症狀

假設你有定期排程的維護工作,可以在 Microsoft SQL Server 2014 或 2016 中循環錯誤日誌檔案,且不會停止或啟動伺服器。

例如,維修工作可能如下:


USE msdb ;  
GO  

EXEC dbo.sp_cycle_agent_errorlog ;  
GO

此時維護工作無法執行,並會收到類似以下錯誤訊息:

注意

Msg 22022,第16層,州1,第line_number
SQLServerAgent 錯誤:32。
該程序無法存取該檔案,因為它正被另一個程序使用。

解決方式

此問題已在以下 SQL Server 的累積更新中得到修正:

累積更新22 for SQL Server 2017

累積更新4 for SQL Server 2016 Service Pack 2

Cumulative Update 4 for SQL Server 2014 SP3

累積更新18 for SQL Server 2014 SP2

關於 SQL Server 建置

每個新的 SQL Server 建置都包含了前一個建置中所有的熱修補與安全修補。 我們建議您安裝最新的 SQL Server 版本:

SQL Server 2017 最新累積更新

SQL Server 2016 最新版本

SQL Server 2014 最新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來描述軟體更新的 術語