sys.dm_xe_objects (Transact-SQL)

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

針對事件封裝所公開的每個物件,各傳回一個資料列。 物件可以是下列其中一項:

  • 活動。 事件表示執行路徑中感興趣的點。 所有事件都包含景點的相關資訊。

  • 動作。 引發事件時,動作會同步執行。 動作可以將執行時間資料附加至事件。

  • 目標。 目標會以同步方式在引發事件的執行緒上,或在系統提供的執行緒上以非同步方式取用事件。

  • 謂詞。 述詞來源會從事件來源擷取值,以用於比較作業。 述詞比較會比較特定的資料類型,並傳回布林值。

  • 型別: 型別會封裝位元組集合的長度和特性,這是解譯資料的必要專案。

資料行名稱 資料類型 描述
NAME nvarchar(60) 物件的名稱。 名稱在特定物件類型的封裝內是唯一的。 不可為 Null。
object_type nvarchar(60) 物件的類型。 object_type是下列其中一項:

event

動作

目標

pred_source

pred_compare

type

不可為 Null。
package_guid uniqueidentifier 公開此動作之封裝的 GUID。 sys.dm_xe_packages.package_id 具有多對一關聯性。 不可為 Null。
description nvarchar(256) 動作的描述。 描述是由套件作者所設定。 不可為 Null。
能力 int 描述 物件功能的點陣圖。 可為 Null。
capabilities_desc nvarchar(256) 列出 物件的所有功能。 可為 Null。

適用于所有物件類型的功能

-
私人。 唯一可用於內部使用的物件,且無法透過 CREATE/ALTER EVENT SESSION DDL 存取。 除了內部使用的少數物件之外,稽核事件和目標也屬於此類別。

===============

事件功能

-
No_block 。 事件位於因任何原因而無法封鎖的重要程式碼路徑中。 具有這項功能的事件可能不會新增至任何指定NO_EVENT_LOSS的事件會話。

===============

適用于所有物件類型的功能

-
Process_whole_buffers。 目標會一次取用事件的緩衝區,而不是依事件的事件。

-
Singleton 。 只有一個目標實例可以存在於進程中。 雖然多個事件會話可以參考相同的單一目標,但實際上只有一個實例,而且該實例只會看到每個唯一事件一次。 如果目標已新增至所有收集相同事件的多個會話,這很重要。

-
Synchronous: 目標會在產生事件的執行緒上執行,再將控制項傳回呼叫程式程式碼。
type_name nvarchar(60) pred_source 和 pred_compare 物件的名稱。 可為 Null。
type_package_guid uniqueidentifier 封裝的 GUID,會公開此物件所操作的類型。 可為 Null。
type_size int 資料類型的大小,以位元組為單位。 這只適用于有效的物件類型。 可為 Null。

權限

需要伺服器上的 VIEW SERVER STATE 許可權。

SQL Server 2022 和更新版本的權限

需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。

關聯性基數

關聯性
sys.dm_xe_objects.package_guid sys.dm_xe_packages.guid 多對一

下一步

在下列文章中深入了解相關概念: