共用方式為


檢視事件會話數據

本主題描述如何使用顯示使用者介面來查看和分析擴充事件數據:

  • 檢視目標數據

  • 處理數據

檢視目標數據

您可以在 SQL Server Management Studio 內顯示收集到指定目標的數據。

檢視目標數據

若要檢視目標資料:

  1. 在 [物件總管] 中,展開 [管理]、[ 擴充事件]、[ 會話],然後展開會話。

  2. 以滑鼠右鍵按下目標名稱,然後按兩下 [ 檢視目標資料 ] 以顯示目標數據。

    目標數據視窗會出現在預設檢視中,並顯示目標數據。

檢視目標資料的注意事項:

  • 目標數據不適用於 ETW 目標。

  • 若要以 xml 格式檢視ring_buffer數據,請在目標數據視窗中按兩下 ring_buffer目標資料 連結。 ring_buffer.xml 檔案會出現在 xml 編輯器中。

  • 針對 event_file 目標,使用下列其中一種方法檢視目標數據 (.XEL 檔案):

    • 使用檔案 -> 在 SQL Server Management Studio 中開啟。

    • 將檔案拖放到 SQL Server Management Studio 中。

    • 按兩下 .XEL 檔案。

    • 在 SQL Server Management Studio 中,以滑鼠右鍵按兩下執行中的擴充事件會話,然後選取 [檢視目標數據]。

    • fn_xe_file_target_read_file

    • SQLServer.XEvent 模組中使用 Powershell Read-SQLXevent。

    • 使用 XELite NuGet 程式化地取用 XEvents。

    • 您可以透過從 [檔案 -> 開啟] 選單中選取 [合併擴充事件檔案],以查看多個 .XEL 檔案。

監看實時數據

您可以在擷取過程中即時觀看數據。

  • 在 [物件總管] 中,展開 [管理][擴充事件][會話] 節點。

  • 以滑鼠右鍵點擊會話名稱,然後點選 [監看即時資料] 開始顯示追蹤資料。

    默認顯示欄位為 事件名稱時間戳記

    若要將其他資料行新增至追蹤視窗,請按兩下 [擴充事件] 工具列上的 [ 選擇 資料行] 按鈕。 [ 詳細數據] 索引標籤會顯示所選事件的所有事件詳細數據。

    事件通常會在大約30秒內顯示。 如果您想要變更延遲期間,您可以在 [新增會話] 對話方塊的 [進階] 頁面上變更 [最大分派延遲]。

  • 實時數據可由 SqlServer.XEvent PowerShell 模組串流。

若要重新整理目標資料

event_files目標不支援重新整理目標資料:

  1. 若要自動重新整理目標數據,請以滑鼠右鍵按兩下目標數據,選取 [ 重新整理間隔],然後從間隔清單中選取重新整理間隔。

  2. 若要暫停並繼續自動重新整理,請以滑鼠右鍵按兩下目標數據,然後選取 [ 暫停 ] 或 [ 繼續]。

  3. 若要手動重新整理目標數據,請以滑鼠右鍵按兩下目標數據,然後選取 [ 重新整理]。

處理數據

您可以使用擴充事件使用者介面的分析功能來識別問題。

詳細資訊窗格

[ 詳細數據 ] 窗格會顯示所選事件的所有數據行,包括欄位和動作。 您可以用滑鼠右鍵按兩下 [ 詳細 資料] 窗格中的數據列,然後選取 [ 在數據表中顯示資料行],將數據行加入至目標數據表。

建立、修改或刪除合併的數據行

合併的數據行可讓您合併要顯示在單一數據行中的一組欄位。 合併的數據行會根據新增至欄位清單的順序,顯示來自第一個非 NULL 欄位的數據。 這類似於您在 SQL Server Profiler 中看到的內容,其中特定數據行可能會根據事件顯示不同的數據(最常見的範例是 SQL Server Profiler 中的 TextData 字段)。 例如,您可以分別將 statement 和 batch_text 欄位從 sql_statement_completed 和 sql_batch_completed 事件合併到一個名為 myStatement 的欄位。 當您在數據表中顯示 myStatement 數據行時,它會顯示相關聯事件的適當數據。

您可以建立、修改或移除合併的資料列:

  1. 開啟 XEL 檔案以檢視追蹤結果。 (您也可以以滑鼠右鍵按兩下工作階段名稱,然後選取 [ 監看實時數據]。

  2. 在追蹤結果視窗中,以滑鼠右鍵按一下資料行標頭,然後按一下 [ 選擇資料行 ]。

若要建立合併的數據行,請按兩下 [選擇資料行] 對話方塊中的 [新增]。 在 [ 新增合併數據 行] 對話框中,將合併的數據行命名為 ,然後選取要包含在合併數據行中的原始數據行。

若要編輯合併的數據行,請在 [ 選擇 數據行] 對話框中選取合併的數據行,然後按兩下 [ 編輯]。 在 [ 編輯合併的數據 行] 對話框中,重新命名合併的數據行,或修改要包含在合併數據行中的原始數據行。

若要刪除合併的數據行,請在 [ 選擇 資料行] 對話框中選取合併的數據行,然後按兩下 [ 刪除]。

篩選結果

您可以檢視追蹤結果,然後套用篩選來縮小追蹤視窗中顯示的追蹤結果範圍。 顯示篩選包含時間篩選和進階篩選。 您可以使用時間篩選來依事件時間戳篩選追蹤結果,並使用進階篩選條件,使用事件欄位和動作來建構篩選條件。 時間與進階篩選之間有「和」關聯性。

若要建立篩選:

  1. 開啟 XEL 檔案以查看追蹤結果。 (您也可以以滑鼠右鍵按兩下工作階段名稱,然後選取 [ 監看實時數據]。

  2. 在追蹤結果視窗中,選取您想要篩選的結果,然後在 [ 擴充事件 ] 工具列上,按兩下 [ 篩選]。

  3. 在 [ 篩選] 對話框中,選取 [ 設定時間篩選 ] 以藉由拖曳滑杆列或修改編輯框中的時間來設定時間篩選。

  4. 在 [ 其他篩選] 區段中,套用篩選準則,然後按兩下 [ 套用]。

排序結果

若要以遞增或遞減順序排序結果:

  1. 開啟 XEL 檔案以檢視追蹤結果。 (您也可以右鍵單擊會話名稱,選取 [觀看即時資料],然後點擊工具列上的 [停止資料傳輸] 按鈕。)

  2. 在追蹤結果視窗中,右鍵點選要排序的欄位標題,然後選擇 升序降序

您也可以按下資料列標頭來反轉排序順序。

如果您已將數據行分組,排序數據行只會排序群組中的數據。

群組結果

群組結果的功能相當於 Transact-SQL 中的 GROUP BY 子句。 目標數據表會顯示群組在一起的數據,讓您展開和折疊數據。

您必須先將數據分組,才能匯總數據。 例如,您可以在query_hash值上分組、依持續時間遞減排序、取得每個群組的平均持續時間,然後依匯總遞減排序。 這將產生一個清單,顯示從平均持續時間由長到短排序的唯一語句列表。 當您展開最上層群組時,您會看到該特定查詢的個別執行從最長到最短排序。

您可以依單一數據行或多個數據行來分組結果。

開啟 XEL 檔案以檢視追蹤結果。 (您也可以以滑鼠右鍵點擊工作階段名稱,選取 [ 監看即時數據],然後點擊工具列上的 [ 停止數據馈送 ] 按鈕。)

若要依單一數據行分組結果,請以滑鼠右鍵按兩下追蹤結果視窗中的數據行標題,然後按兩下 [ 依此數據行分組]。 若要復原群組,請選取其中一個數據列,然後按兩下 [移除所有群組]。

若要依多個數據行分組結果,請按兩下 [擴充事件] 工具列上的 [群組] 按鈕。 在 [群組] 對話方塊的 [可用欄位] 方塊中,選取您要分組的欄位,並將其移至 [已分組欄位] 方塊中。 若要在 列分組於 方塊中更改順序,請按下向上或向下箭頭。

匯總結果

您可以檢視追蹤的結果,然後藉由匯總結果中的資料欄來進一步分析事件數據。 擴充事件支援五個聚合函數:

  • 總和

  • 分鐘

  • 最大值

  • 平均值

  • 計數

Sum、min、max 和 average 只能與數值數據行搭配使用。 Count 是群組中所選數據行存在的非 Null 值數目。

匯總是在群組上執行,因此您必須將結果分組,才能執行匯總。 若要匯總結果:

  1. 開啟 XEL 檔案以檢視追蹤結果。 (您也可以以滑鼠右鍵按一下工作階段名稱,選取 監看即時數據,然後點擊工具列上的 停止數據傳輸 按鈕。)

  2. 在 [ 擴充事件] 工具列上,按兩下 [ 匯總] 按鈕。 [匯總] 對話框會顯示可用於匯總的數據行。

  3. 在 [ 匯總類型] 數據行中,選取匯總類型。

  4. 排序方式 方塊中,選取排序欄。 然後選取遞增或遞減順序。

搜尋欄位中的文字

您可以在資料列中搜尋文字:

  1. 開啟 XEL 檔案以檢視追蹤結果。 (您也可以以滑鼠右鍵按兩下工作階段名稱,選取 [ 監看實時數據]。

  2. 在 [擴充事件] 工具列上按一下 [尋找]。

  3. [擴充事件中尋找] 對話框的 [尋找內容] 方塊中,輸入待搜尋的文字。 您可以從下拉式清單中選取最後 20 個搜尋字串之一。

  4. 在 [ 查詢] 方塊中,選取要搜尋指定文字的位置。 使用下列選項進行搜尋:

    • 表格欄位。 使用此選項可搜尋追蹤視窗中的所有可見資料列。

    • 詳細資料: 使用此選項,在開啟 [ 在擴充事件中尋找 ] 對話方塊之前,搜尋在追蹤視窗中已選取的所有欄位(已提升和未提升)。

    • Event_column_name。 使用此選項可從下拉式清單中搜尋特定事件欄。

  5. 使用下列選項來指定您要如何定義搜尋:

    • 匹配大小寫。 使用此選項可顯示您在 [查找內容] 方塊中輸入的文字,其搜尋結果皆符合內容和大小寫。

    • 比對完整字詞。 使用此選項可只顯示與您輸入的完整單詞相符的搜尋結果。

    • 向上搜尋。 使用此選項可從游標位置搜尋到結果的開頭。

    • 使用。 使用此選項來解譯您在 [尋找內容] 方塊中輸入的特殊字元和正則表達式。 特殊字元包括通配符 → 和 (?) 來代表一或多個字元。 正則表達式是用來定義搜尋文字模式的特殊表示法。

    • 按兩下 [尋找下一步] 以搜尋您在 [ 尋找內容 ] 方塊中輸入的下一個文字。

書籤

若要更輕鬆地返回數據列,您可以在目標數據中將一或多個數據列加入書籤。 以滑鼠右鍵按下數據列以變更書籤。 使用 擴充事件 工具列上的上一個和下一個按鈕,瀏覽至書籤列。

變更顯示設定

您可以將資料行資訊(資料行順序、合併資料行和資料行寬度)和追蹤結果的篩選資訊儲存到擴充事件顯示設定檔 (.viewsetting 檔案) 中。 儲存檔案之後,您可以將它套用至您的追蹤結果,來變更檢視。

若要變更顯示設定:

  1. 開啟 XEL 檔案以查看追蹤結果。 (您也可以以滑鼠右鍵按兩下工作階段名稱,選取 [ 監看實時數據]。

  2. 在 [ 擴充事件] 工具列上,選取 [ 顯示設定]。 從下拉式清單中,選取下列其中一個選項:

    • 另存新檔。 將追蹤結果的數據行和篩選資訊儲存至 .viewsetting 檔案。

    • 打開。 開啟現有的 .viewsetting 檔案。

    • 開啟最近使用的項目。 開啟最近儲存的 .viewsetting 檔案。

複製或匯出追蹤結果

您可以將儲存格、資料列和詳細資料複製到您從追蹤結果中選取的資料列中。 您也可以將追蹤結果匯出至下列專案:

  • .XEL 檔案

  • 表格

  • .CSV 檔案

若要複製追蹤結果,請選取單元格、數據列或數據列,以滑鼠右鍵按兩下,選取 [複製],然後選取 [單元格]、[數據列] 或 [詳細數據]。 擴充的事件支援最多複製1000個列。

您可以透過在 SQL Server Management Studio 中的 [擴充事件] 功能選擇 [匯出至],將追蹤結果匯出至 .XEL 檔案、資料表或 .CSV 檔案。

檢視死結圖形和查詢計劃

您可以在 [詳細數據] 窗格中檢視 xml_deadlock_report 的死結圖表,以協助您針對死結進行疑難解答。 您也可以檢視下列事件的查詢計劃圖表:

  • 查詢後編譯顯示計劃

  • query_pre_execution_showplan

  • 查詢執行後顯示計劃

若要檢視死結圖形:

  • 在 [物件總管] 中,展開 [管理]、[擴充事件] 和 [會話] 節點。

  • 以滑鼠右鍵點選包含您想檢視的已設定死結事件的會話,然後選取 [監看即時數據]。

  • 選取死結事件,然後在詳細訊息面板的 死結 標籤上查看圖表。

若要檢視查詢計劃圖表:

  1. 在 [物件總管] 中,展開 [管理]、[擴充事件] 和 [會話] 節點。

  2. 以滑鼠右鍵點選包含您要檢視的查詢計劃圖的會話(例如,query_post_compilation_showplan),然後選取 監看實時數據

  3. 選取查詢計劃圖事件(例如,query_post_compilation_showplan),然後在 [詳細資料] 窗格中的 [查詢計劃] 索引標籤上查看圖形。