延伸事件工具

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Microsoft Fabric 中的 SQL 資料庫

您可以使用下列工具來建立及管理 SQL Server 擴充事件工作階段:

  • 資料定義語言 (DDL) 陳述式。 這些可讓您建立及修改「擴充事件」工作階段。

  • 動態管理檢視、目錄檢視和系統資料表。 這些功能可讓您使用 Transact-SQL 陳述式來取得工作階段資料和中繼資料。 系統資料表可幫助您判定 SQL 追蹤事件類別與資料行的現有「擴充事件」對等項目。

  • [物件總管] 的 [擴充事件] 節點。 這可讓您啟動、停止或刪除工作階段,或是匯入及匯出工作階段範本。

  • SQL Server PowerShell 提供者。 這是一項功能強大的工具,可讓您用來建立、更改和管理「擴充事件」工作階段。 如需詳細資訊,請參閱 針對擴充事件使用 PowerShell 提供者。

  • SQL Server Management Studio。 這可讓您建立及執行「擴充事件」主題中所提供的程式碼範例。 如需詳細資訊,請參閱 物件總管。

除了您所建立的工作階段以外,伺服器上也會有預設系統健康工作階段存在。 此工作階段會收集系統資料,讓您能夠用來協助排除效能問題。 如需詳細資訊,請參閱 使用 system_health 工作階段。

DDL 陳述式

使用下列 DDL 陳述式來建立、變更及刪除「延伸事件」工作階段。

名稱 描述
CREATE EVENT SESSION (Transact-SQL) 建立「擴充事件」工作階段物件,此物件可識別事件的來源、事件工作階段目標及事件工作階段參數。
ALTER EVENT SESSION (Transact-SQL) 啟動或停止事件工作階段,或是變更事件工作階段組態。
DROP EVENT SESSION (Transact-SQL) 刪除事件工作階段。

目錄檢視

使用下列目錄檢視,以取得建立事件工作階段時所產生的中繼資料。

名稱 描述
sys.server_event_sessions (Transact-SQL) 列出所有事件工作階段定義。
sys.server_event_session_actions (Transact-SQL) 針對事件工作階段中每個事件的每個動作,傳回一個資料列。
sys.server_event_session_events (Transact-SQL) 為事件工作階段中的每個事件傳回一個資料列。
sys.server_event_session_fields (Transact-SQL) 針對在事件和目標上明確指定的每個可自訂資料行,傳回一列。
sys.server_event_session_targets (Transact-SQL) 傳回事件工作階段中每一個事件目標的資料列。

動態管理檢視

使用下列動態管理檢視來取得工作階段中繼資料和工作階段資料。 中繼資料是從目錄檢視中取得,而工作階段資料則會在您啟動並執行事件工作階段時建立。

注意

這些檢視要等到工作階段啟動之後,才會包含工作階段資料。

名稱 描述
sys.dm_os_dispatcher_pools(Transact-SQL) 傳回有關工作階段發送器集區的資訊。
sys.dm_xe_objects (Transact-SQL) 針對事件套件公開的每個物件,傳回一個資料列。
sys.dm_xe_object_columns (Transact-SQL) 傳回所有物件的結構描述資訊。
sys.dm_xe_packages(Transact-SQL) 列出所有已向「延伸事件」引擎註冊的套件。
sys.dm_xe_sessions (Transact-SQL) 傳回使用中「擴充事件」工作階段的相關資訊。
sys.dm_xe_session_targets(Transact-SQL) 會傳回工作階段目標的資訊。
sys.dm_xe_session_events (Transact-SQL) 傳回有關工作階段事件的資訊。
sys.dm_xe_session_event_actions(Transact-SQL) 傳回有關事件工作階段動作的資訊。
sys.dm_xe_map_values(Transact-SQL) 提供內部數值鍵與人類可讀文字之間的對應關係。
sys.dm_xe_session_object_columns(Transact-SQL) 顯示繫結到工作階段的物件之組態值。

系統資料表

使用下列系統資料表,取得有關 SQL 追蹤事件類別與資料行之「擴充事件」對等項目的資訊。

名稱 描述
trace_xe_event_map(Transact-SQL) 針對每個對應到 SQL 追蹤事件類別的 Extended Events 事件,各包含一個資料列。
trace_xe_action_map(Transact-SQL) 包含每個對應至 SQL Trace 資料行識別碼的擴充事件動作各一個資料列。