Applies ToSQL 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)

徵兆

根據預設,Microsoft SQL Server 2016 和 2017 中的範本資料庫會開啟間接檢查點。 在負載過重的情況下,可能會發生「未收益排程器」錯誤,且sys.dm_os_spinlock_stats DMV 會顯示DP_LIST轉鎖類型的提升轉鎖等待。

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

解決方案

此問題已在下列SQL Server累積更新中修正:

關於SQL Server的累積更新:

每個SQL Server的新累積更新都包含所有 Hotfix 以及先前累積更新隨附的所有安全性修正。 查看SQL Server的最新累積更新:

因應措施

若要解決此問題,請使用下列其中一種資料定義語言 (DDL) 語句,關閉範本資料庫上的間接檢查點。

這應該會如下所示:

  • 在 modeldb 資料庫 (這也會變更新資料庫) 的預設值,請執行下列語句: ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • 或者,在每次實例啟動時直接在範本資料庫上使用下列語句來使用SQL Server Agent: ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • 或者,使用下列語句定期針對範本資料庫發出手動檢查點: use tempdbgo checkpointgo 此外,TF 3468可用來停用範本上的間接檢查點。

參考

瞭解 Microsoft 用來描述軟體更新的術語。 如需詳細資訊,請參閱下列文章:

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。