在 SQL Server Management Studio 中檢視事件資料

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體

本文描述了如何使用 SQL Server Management Studio (SSMS),來檢視擴充事件的目標資料。 本文說明如何︰

  • 使用各種方式來開啟和檢視目標資料。
  • 針對擴充事件使用特殊功能表或工具列,以將目標資料匯出為各種格式。
  • 在檢視時或在匯出之前操作資料。 您可檢視、匯出、篩選和匯總事件資料。

必要條件

現有的文章假設您已經知道如何建立和啟動事件工作階段。 下文提早示範如何建立事件工作階段的指示︰

快速入門:擴充事件

建議使用最新版 SSMS。 從下載 SQL Server Management Studio (SSMS) 下載最新版。

Azure SQL 資料庫差異

SQL Server 中的擴充事件與 Azure SQL 資料庫之間存在某些差異。

  • 若是 Azure SQL 資料庫,event_file 目標不能是本機磁碟機上的檔案。 相反地,您必須使用 Azure 儲存體容器。 連線至 Azure SQL 資料庫時,SSMS UI 會要求儲存體容器,而不是本機路徑和檔案名稱。
  • 在 SSMS UI 中,已停用 [監看即時資料]。 這是因為該功能不適用於 Azure SQL 資料庫。
  • 一些擴充事件工作階段會與 SQL Server 一起安裝,例如 system_health 工作階段。 這些工作階段不適用於 Azure SQL 資料庫。

從 SQL Server 的角度寫入現有的文章。 本文使用 event_file 目標,該目標會在適用於 SQL Server 和適用於 Azure SQL 資料庫的擴充事件中以不同方式實作。

如需 Azure SQL 資料庫特有擴充事件的文件,請參閱 Azure SQL 資料庫中的擴充事件

開啟 SSMS 事件檢視器 UI

您可以使用下列其中一種方式來存取 SSMS 事件檢視器 UI:

  • 主功能表 [檔案]>[開啟]> [檔案],然後瀏覽 xel 檔案
  • 以滑鼠右鍵按一下 [物件總管 > 管理] 中的 [擴充事件]
  • [擴充事件] 功能表,以及 [擴充事件] 工具列
  • 以滑鼠右鍵按一下可顯示目標資料的索引標籤式窗格。

在 SSMS 中檢視 event_file 資料

有各種方式可在 SSMS UI 中檢視 event_file 目標資料。 指定 event_file 目標時,您可設定其檔案路徑和名稱,包括 xel 副檔名。

  • 每次啟動事件工作階段時,擴充事件都會將數值後置詞新增至檔案名稱,使檔案名稱不重複。
    • 範例:Checkpoint_Begins_ES_0_131103935140400000.xel
  • xel 檔案是二進位檔案。 不得在文字編輯器中開啟,例如記事本。
    • 使用 [檔案] >[開啟]>[合併擴充事件檔案] 對話方塊,在 SSMS 事件檢視器 UI 中開啟多個事件檔案。

SSMS 可顯示大多數擴充事件目標的資料。 但是,各種目標的顯示畫面會不同。 例如:

  • event_file:event_file 目標的資料會顯示在事件檢視器中,並提供篩選、匯總和其他功能。
  • ring_buffer:通道緩衝區目標的資料顯示會為 XML。

SSMS 不能顯示 etw_classic_sync_target 目標的資料。

使用檔案 > 開啟 > 檔案,來開啟 xel 檔案

您可使用 [檔案]>[開啟]>[檔案],從 SSMS 主功能表開啟單一 xel 檔案。 您還可將 xel 檔案拖放至 SSMS。

檢視目標資料

[檢視目標資料] 選項會顯示目前為止已擷取的資料。 在 [物件總管] 中,您可展開節點,再以滑鼠右鍵按一下:

  • [管理] >[擴充事件] >[工作階段] >[your-session]>[your-target-node]>[檢視目標資料] 。

目標資料會如下所示顯示在 SSMS 的索引標籤式窗格中。

Screenshot of your target > View Target Data.

注意

[檢視目標資料] 會顯示與工作階段關聯的所有 xel 檔案的資料。 每個啟動-停止循環會建立檔案名稱中新增稍後時間衍生數值的檔案,但每個檔案都共用相同的根目錄名稱。 檔案大小超過使用 MAX_FILE_SIZE 參數指定的檔案大小上限時,也會建立其他換用 xel 檔案。

監看即時資料

如果事件工作階段在執行中,您可能想要在目標接收事件資料時即時監看事件資料。

  • [管理] >[擴充事件] >[工作階段] >[your-session]>[監看即時資料] 。

Screenshot of your session > Watch Live Data.

會以指定的間隔更新資料顯示。 請查看下列位置中的 [分派延遲上限] :

  • [擴充事件] >[工作階段] >[your-session]>[屬性] >[進階] >[分派延遲上限]

使用 sys.fn_xe_file_target_read_file() 函數檢視事件資料

sys.fn_xe_file_target_read_file() 函數會傳回一個資料列集,每個資料列代表擷取的事件。 事件資料會以 XML 傳回。 XQuery 可用來依據關係呈現事件資料。

匯出目標資料

在 SSMS 事件檢視器中顯示事件資料之後,您可執行下列動作,將其匯出為各種格式:

Screenshot of exporting displayed data, Extended Events > Export to.

  1. 選取主功能表上的 [擴充事件]
  2. 按一下 [匯出至],然後選擇格式.

操作顯示中的資料

SSMS UI 提供數種方式來操作資料,但只是檢視資料。

資料顯示中的特色選單

以滑鼠右鍵按一下時,資料顯示中的不同位置會提供不同的操作功能表。

以滑鼠右鍵按一下資料格

下列螢幕擷取畫面顯示以滑鼠右鍵按一下資料顯示中的資料格時出現的操作功能表。 此螢幕擷取畫面也會顯示 [複製] 功能表項目的展開。

Screenshot showing right-click a cell, in the data display.

以滑鼠右鍵按一下資料行標頭

下列螢幕擷取畫面顯示以滑鼠右鍵按一下 [時間戳記] 標頭時出現的操作功能表。

Screenshot showing right-click a column header, in the data display, or details grid.

選擇資料行,合併資料行

[選擇資料行] 選項可讓您控制要顯示的資料行。 您可以在一些不同的位置中找到 [選擇資料行] 功能表項目︰

  • 在 [擴充事件] 功能表上。
  • 在 [擴充事件] 工具列上。
  • 在資料顯示中標頭的操作功能表上。

選取 [選擇資料行] 後,同名的對話方塊即會顯示。

Screenshot showing choose Columns dialog, also offers Merge columns options.

合併資料行

[選擇資料行] 對話方塊包含一個區段,基於顯示和資料匯出目的而專供將多個資料行合併成一個資料行。

篩選

SSMS 事件檢視器中的篩選可以:

  • 依 [時間戳記] 資料行限制傳回的資料
  • 依資料行值篩選

時間篩選與資料行篩選之間的關聯性是布林值 AND

Screenshot of time range, and column filters, on the Filters dialog.

群組和彙總

透過比對指定資料行中的值以將資料列群組在一起,是資料摘要彙總的首要步驟。

分組

在 [擴充事件] 工具列上,[分組]按鈕會啟動對話方塊,以用來將指定資料行的顯示資料群組在一起。 下一個螢幕擷取畫面顯示一個對話方塊,用來依 name 資料行進行群組。

Screenshot showing the toolbar with Grouping selected and the Grouping dialog box.

分組完成之後,顯示會有新的外觀,如下所示。

Screenshot of new display look after Grouping.

彙總

群組顯示的資料之後,即可繼續彙總其他資料行中的資料。 下一個螢幕擷取畫面顯示群組資料是透過 count進行彙總。

Screenshot showing the toolbar with Aggregation selected and the Aggregation dialog box.

彙總完成之後,顯示會有新的外觀,如下所示。

Screenshot of the display showing that a COUNT value has been added.

檢視執行階段查詢計劃

query_post_execution_showplan 事件可讓您查看 SSMS UI 中的實際查詢計劃 (包含執行階段統計資料)。 顯示 [詳細資料] 窗格時,您可以在 [查詢計劃]索引標籤上看到查詢計劃圖形。將滑鼠游標停留在查詢計劃的節點上方,即可看到計劃節點之屬性名稱和其值的清單。

Screenshot of Query Plan, with properties list for one node.