sys.server_event_sessions (Transact-SQL)

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

列出存在於 SQL Server 或 Azure SQL 受控實例中的所有伺服器範圍事件會話定義。

注意

Azure SQL Database 僅支援資料庫範圍的事件會話。 請參閱相關檢視, 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 到 2147483648 和 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 - 無

C - PER_CPU

N - PER_NODE
memory_partition_mode_desc sysname 預設值為 NONE。 不可為 Null。 這是下列其中一項:

沒有。 SQL Server 實例內會建立一組緩衝區。

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

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

0 (關閉)。 伺服器啟動時,會話不會啟動。

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

權限

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

下一步

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