Sql-Server

篩選器不適用於 SQL Server 跟踪中的 Showplan XML

  • July 5, 2017

我已經設置了一個 SQL Server 跟踪來擷取我的 SQL Server 2014 框上長時間執行的查詢,並添加了 Showplan XML 事件來擷取查詢的執行計劃。跟踪是使用持續時間過濾器創建的。在測試過程中,我發現 Showplan XML 沒有考慮持續時間過濾器,而是顯示了所有查詢的執行計劃。我只期望在跟踪中使用我的持續時間過濾器及其執行計劃的查詢。然而,事實並非如此。它正確顯示了持續時間過濾器查詢,但所有查詢的執行計劃都被記錄下來。

有誰知道如何在 SQL Server 跟踪中解決這個問題?

SHOWPLAN XML 事件沒有包含 cpu 持續時間的列,因此您無法按持續時間進行過濾。您只能按本文中提到的列進行過濾。

https://docs.microsoft.com/en-us/sql/relational-databases/event-classes/showplan-xml-event-class

幾個選擇:

  • 按其他允許的列使用過濾器。
  • 在盡可能短的時間內擷取所有內容,載入到表中並過濾。請注意此過程產生的負載,尤其是在生產伺服器上。
  • 跟踪長時間執行的查詢。使用該列表過濾 SHOWPLAN XML 事件。

引用自:https://dba.stackexchange.com/questions/178098