KB4131193 - 使用 SQL Server 2016 時,TempDB 會出現效能問題,表現為PAGELATCH_EX和PAGELATCH_SH等待時間

套用到
SQL Server 2016 Service Pack 1 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)

症狀

當你使用 Microsoft SQL Server 2016 時,屬於 sys.sysobjvalues 和 sys.sysseobjvalues 系統資料表的資料庫頁面會增加PAGELATCH_EX和PAGELATCH_SH等待時間。

因應措施

為了解決這個問題,請審查你的申請,並在適用時採用以下方法。 同時也請確保你在未來 Transact-SQL 開發中將以下方法作為最佳實務:

  • 移除任何不會在同一儲存程序執行中重複使用的臨時資料表的 DROP TABLE 指令。 當建立暫存資料表的會話結束時,SQL Server 會移除暫存資料表。
  • 避免對臨時資料表使用 TRUNCATE TABLE 指令。
  • 避免在暫存資料表建立後再更改它們。
  • 如果索引是針對暫存資料表建立,請考慮將索引移至內嵌索引建立語句,並透過 CREATE TABLE 指令。

解決方式

此修正包含在以下更新中:

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

Cumulative Update 9 for SQL Server 2016 Service Pack 1

關於 SQL Server 建置

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

SQL Server 2016 的最新建置版本