sys.dm_xe_database_sessions (Azure SQL 資料庫 和 Azure SQL 受控執行個體)
適用於:Azure SQL 資料庫 Azure SQL 受控執行個體
傳回作用中資料庫範圍擴充事件會話的相關信息。 會話是事件、動作和目標的集合。 如需資料庫中所有事件會話的資訊,請參閱 sys.database_event_sessions。
Azure SQL 資料庫 僅支持資料庫範圍的會話。 Azure SQL 受控執行個體 同時支援資料庫範圍的工作階段和伺服器範圍的工作階段。 建議受控實例使用伺服器範圍的會話:深入瞭解 CREATE EVENT SESSION。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
address |
varbinary(8) | 工作階段的記憶體位址。 address 在本機系統中是唯一的。 不可為 Null。 |
name |
nvarchar(256) | 工作階段的名稱。 name 在本機系統中是唯一的。 不可為 Null。 |
pending_buffers |
int | 擱置處理的完整緩衝區數目。 不可為 Null。 |
total_regular_buffers |
int | 與會話相關聯的一般緩衝區總數。 不可為 Null。 注意: 一般緩衝區大部分時間都會使用。 這些緩衝區的大小足以保存許多事件。 一般而言,每個會話有三個以上的緩衝區。 根據透過 MEMORY_PARTITION_MODE 選項設定的記憶體分割,伺服器會自動決定一般緩衝區的數目。 一般緩衝區的大小等於MAX_MEMORY選項的值(預設值為 4 MB),除以緩衝區數目。 如需MEMORY_PARTITION_MODE和MAX_MEMORY選項的詳細資訊,請參閱 CREATE EVENT SESSION (Transact-SQL)。 |
regular_buffer_size |
bigint | 一般緩衝區大小,以位元組為單位。 不可為 Null。 |
total_large_buffers |
int | 大型緩衝區的總數。 不可為 Null。 注意: 當事件大於一般緩衝區時,會使用大型緩衝區。 為了此目的,它們會明確放在一邊。 當事件會話啟動時,會配置大型緩衝區,並根據 MAX_EVENT_SIZE 選項來調整大小。 如需MAX_EVENT_SIZE選項的詳細資訊,請參閱 CREATE EVENT SESSION (Transact-SQL) 。 |
large_buffer_size |
bigint | 大型緩衝區大小,以位元組為單位。 不可為 Null。 |
total_buffer_size |
bigint | 記憶體緩衝區的總大小,用來以位元組為單位儲存會話的事件。 不可為 Null。 |
buffer_policy_flags |
int | 位圖,指出當所有緩衝區都已滿且引發新事件時,會話事件緩衝區的行為方式。 不可為 Null。 |
buffer_policy_desc |
nvarchar(256) | 描述,指出當所有緩衝區已滿且引發新事件時,會話事件緩衝區的行為方式。 不可為 Null。 buffer_policy_desc 可以是下列其中一個值:- 卸除事件 - 不要卸除事件 - 卸除完整緩衝區 - 配置新的緩衝區 |
flags |
int | 位圖,表示已在會話上設定的旗標。 不可為 Null。 |
flag_desc |
nvarchar(256) | 會話上設定之旗標的描述。 不可為 Null。 flag_desc 可以是下列值的任何組合:- 關閉時排清緩衝區 - 專用發送器 - 允許遞歸事件 |
dropped_event_count |
int | 緩衝區已滿時捨棄的事件數目。 如果 buffer_policy_desc 為 「卸除完整緩衝區」或「不要卸除事件」,則此值0 為 。 不可為 Null。 |
dropped_buffer_count |
int | 緩衝區已滿時所卸除的緩衝區數目。 如果 buffer_policy_desc 設定為 「卸除事件」或「不要卸除事件」,則此值0 為 。 不可為 Null。 即使緩衝區未在會話層級卸除,個別目標仍可能因為目標特定原因而無法處理緩衝區。 請參閱 failed_buffer_count sys.dm_xe_database_session_targets。 |
blocked_event_fire_time |
int | 當緩衝區已滿時,會封鎖事件引發的時間長度。 如果 buffer_policy_desc 是 “Drop full buffer” 或 “Drop event”,則此值0 為 。 不可為 Null。 |
create_time |
datetime | 工作階段建立的時間(已啟動)。 不可為 Null。 |
largest_event_dropped_size |
int | 不符合會話緩衝區的最大事件大小。 不可為 Null。 |
session_source |
nvarchar(256) | 會話 範圍database_name 。 |
buffer_processed_count |
bigint | 會話處理的緩衝區總數,並從會話開頭累積。 不可為 Null。 |
buffer_full_count |
bigint | 處理緩衝區並從會話開頭累積時已滿的緩衝區數目。 不可為 Null。 |
total_bytes_generated |
bigint | 擴充事件會話所產生的實際位元元組數目。 當會話正在處理緩衝區並僅適用於檔案目標時,會收集此資訊。 沒有其他目標的追蹤。 |
total_target_memory |
bigint | 會話將資訊儲存在信號緩衝區目標中的會話,以位元組為單位的總目標記憶體。 不可為 Null。 |
權限
需要 VIEW DATABASE STATE 許可權。
下一步
在下列文章中深入了解相關概念: