分享方式:


sys.server_event_sessions (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

列出 SQL Server 或 Azure SQL 受控執行個體 中存在的所有伺服器範圍事件會話定義。

注意

Azure SQL 資料庫僅支援資料庫範圍的事件工作階段。 請參閱相關檢視, sys.database_event_sessions

資料行名稱 資料類型 描述
event_session_id int 事件會話的唯一標識符。 不可為 Null。
name sysname 用來識別事件會話的使用者定義名稱。 name 是唯一的。 不可為 Null。
event_retention_mode nchar(1) 決定如何處理事件遺失。 預設值為 S。 不可為 Null。 可以是下列值之一:

S. 對應至 event_retention_mode_desc = ALLOW_SINGLE_EVENT_LOSS

M. 對應至 event_retention_mode_desc = ALLOW_MULTIPLE_EVENT_LOSS

N. 對應至 event_retention_mode_desc = NO_EVENT_LOSS
event_retention_mode_desc sysname 描述如何處理事件遺失。 預設值為 ALLOW_SINGLE_EVENT_LOSS。 不可為 Null。 可以是下列值之一:

ALLOW_SINGLE_EVENT_LOSS. 事件可能會從會話遺失。 只有在所有事件緩衝區都已滿時,才會卸除單一事件。 當緩衝區已滿時遺失單一事件允許可接受的 SQL Server 效能特性,同時將已處理事件數據流中的遺失降到最低。

ALLOW_MULTIPLE_EVENT_LOSS. 完整事件緩衝區可能會從會話遺失。 遺失的事件數目取決於配置給會話的記憶體大小、記憶體的數據分割,以及緩衝區中事件的大小。 此選項可將事件緩衝區快速填滿時,對伺服器的效能影響降到最低。 不過,會話可能會遺失大量的事件。

NO_EVENT_LOSS. 不允許事件遺失。 此選項可確保會保留所有引發的事件。 使用此選項會強制引發事件的所有工作等待事件緩衝區中的可用空間。 這可能會導致事件會話處於使用中狀態時,可偵測到效能降低。
max_dispatch_latency int 事件在提供給會話目標之前,在記憶體中緩衝處理的時間量,以毫秒為單位。 有效值為 0 到 2,147,483,648 和 0。 的值 0 表示分派延遲是無限的。 可為 Null。
max_memory int 配置給會話以進行事件緩衝處理的記憶體數量。 預設值為 4 MB。 可為 Null。
max_event_size int 針對不符合事件會話緩衝區的事件所保留的記憶體數量。 如果 max_event_size 超過計算的緩衝區大小,則會將的兩個額外緩衝區 max_event_size 配置給事件會話。 可為 Null。
memory_partition_mode nchar(1) 在記憶體中建立事件緩衝區的位置。 預設的資料分割模式為 G。 不可為 Null。 memory_partition_mode 為下列其中一項:

G - NONE
C - PER_CPU
N - PER_NODE
memory_partition_mode_desc sysname 預設值為 NONE。 不可為 Null。 可以是下列值之一:

NONE. SQL Server 實例內會建立一組緩衝區。

PER_CPU. 系統會為每個 CPU 建立一組緩衝區。

PER_NODE. 系統會為每個非統一記憶體存取 (NUMA) 節點建立一組緩衝區。
track_causality bit 啟用或停用因果追蹤。 如果設定為 1ON),則會啟用追蹤,而且不同伺服器連線上的相關事件可以相互關聯。 默認設定為 0OFF)。 不可為 Null。
startup_state bit 值會決定伺服器啟動時是否自動啟動工作階段。 預設值為 0。 不可為 Null。 可以是下列其中一項:

0OFF)。 伺服器啟動時,會話不會啟動。

1ON)。 事件會話會在伺服器啟動時啟動。

權限

SQL Server 2019 (15.x) 和舊版需要 VIEW SERVER STATE 伺服器的許可權。

SQL Server 2022 (16.x) 和更新版本需要 VIEW SERVER PERFORMANCE STATE 伺服器的許可權。