即時查詢統計資料

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

SQL Server Management Studio 提供檢視使用中查詢的即時執行計畫。 這個即時查詢計畫會隨著控制項在查詢計畫運算子之間流動,提供查詢執行程序的即時深入資訊。 即時查詢計畫會顯示整體的查詢進度,以及運算子層級的執行階段執行統計資料,如產生的資料列數目、耗用時間、運算子進度等等。因為這份資料是即時提供,不需要等待查詢完成,所以這些執行統計資料在偵錯查詢效能問題方面非常有用。 此功能從 2016 SQL Server 2016 (13.x) Management Studio 開始提供,但 SQL Server 2014 (12.x) 也可使用。

注意

在內部,即時查詢統計資料會利用 sys.dm_exec_query_profiles DMV。

適用於:SQL Server (從 SQL Server 2014 (12.x) 開始) 與 Azure SQL Database。

警告

這項功能主要用在疑難排解。 使用這項功能可能適度降低整體查詢效能,尤其在 SQL Server 2014 (12.x) 中。 如需詳細資訊,請參閱查詢分析基礎結構
這項功能可以搭配 TRANSACT-SQL 偵錯工具使用。

檢視某項查詢的即時查詢統計資料

  1. 若要檢視即時查詢執行計劃,請在 [工具] 功能表上按一下包含即時查詢統計資料圖示。

    Live Query Stats button on toolbar

    您也可以在 Management Studio 中,以滑鼠右鍵按一下選取的查詢,檢視存取即時查詢執行計畫,然後按一下 [包含即時查詢統計資料]。

    Live Query Stats button on popup menu

  2. 現在執行查詢。 即時查詢計劃會顯示查詢計劃運算子的整體查詢進度,以及執行階段的執行統計資料 (例如已耗用時間、進度等)。 在進行查詢執行時,會定期更新查詢進度資訊和執行統計資料。 使用這項資訊來了解整體的查詢執行處理程序,以及偵錯長時間執行的查詢、無限期執行的查詢、會造成 tempdb 溢位的查詢和逾時問題。

    Live Query Stats button in showplan

檢視任何查詢的即時查詢統計資料

以滑鼠右鍵按一下 [處理序] 或 [使用中的費時查詢] 資料表中的任一查詢,也可以從 [活動監視器] 存取即時執行計劃。

Live Query Stats button in Activity Monitor

備註

必須先啟用統計資料設定檔基礎結構,即時查詢統計資料才可以擷取查詢進度資訊。 視版本而定,額外負荷可能十分可觀。 如需此額外負荷的詳細資訊,請參閱查詢分析基礎結構

權限

填入 [即時查詢統計資料] 結果頁面需要資料庫層級的 SHOWPLAN 權限,而執行查詢則需要任何必要權限。 SQL Server 需要伺服器層級 VIEW SERVER STATE 權限,才能查看即時統計資料。
SQL Database 進階層需要資料庫的 VIEW DATABASE STATE 權限,才能查看即時統計資料。 SQL Database 標準和基本層需要伺服器管理員Microsoft Entra 管理帳戶,才能查看即時統計資料。

注意

Microsoft Entra 標識符 先前稱為 Azure Active Directory (Azure AD)。

另請參閱

執行計畫
查詢處理架構指南
效能的監視與微調
效能監視及微調工具
開啟活動監視器 (SQL Server Management Studio)
活動監視器
使用查詢存放區監視效能
sys.dm_exec_query_statistics_xml
sys.dm_exec_query_profiles
追蹤旗標 \(機器翻譯\)
執行程序邏輯和實體運算子參考
查詢分析基礎結構