Applies To
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use)

徵兆

在 Windows 上的 Microsoft SQL Server 2016 或 SQL Server 2017 中,您可能會在下列情況下遇到效能降低的情況:

  • 當您在暫存表格中執行多個並行 INSERTSELECT 運算時。

  • 當您查詢sys.dm_os_waiting_tasks。 在這種情況下, resource_description 欄會顯示在 [無頁面空間] (PFS) 頁面上等待多個要求。

原因

insert parallelism for INSERTSELECT operations was introduced in SQL Server 2016 or SQL Server 2017 on Windows. INSERT 進入本機暫存資料表 (只有由 # 前置詞識別的運算子,而非由 ## 首碼識別的全域暫存表) 現在會自動啟用平行式,而不需要指定非暫存資料表所需的 TABLOCK 提示。 雖然 INSERT 平行式通常能改善查詢效能,但如果有大量並行暫存資料表 INSERTSELECT 作業,則對 PFS 頁面的分析可能相當顯著。 在某些情況下,這可能會導致效能整體降低。

解決方案

此問題在SQL Server 2016 Service Pack 1 中首次修正。 在您套用 SQL Server 2016 SP1 之後,INSERT.中的 Parallel INSERT。預設會停用 SELECT 到本機暫存表,以減少 PFS 頁面上的爭議,並改善並行工作負載的整體效能。 如果需要平行 INSERTs 與本機臨時表格,使用者應在插入本機臨時表格時使用 TABLOCK 提示。如果您已啟用因應措施區段中提及的追蹤標幟 9495,建議您在將 SQL Server 2016 SP1 套用為追蹤標幟 9495 之後,停用並移除追蹤標幟,而不論 TABLOCK 提示是否停用平行插入。

累積更新資訊

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

關於 SQL Server 的累積更新

Need more help?

Want more options?

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