分享方式:


sys.dm_pdw_exec_sessions (Transact-SQL)

適用於:Azure Synapse Analytics Analytics 平台系統 (PDW)

保存設備上目前或最近開啟之所有工作階段的相關信息。 它會列出每個工作階段一個資料列。

注意

Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。 對於無伺服器 SQL 集區,請使用 sys.dm_exec_sessions

資料行名稱 資料類型 描述 範圍
session_id nvarchar(32) 目前查詢或上次查詢執行的標識碼(如果會話為 TERMINATED,且查詢在終止時正在執行)。 此檢視的索引鍵。 在系統中所有會話中是唯一的。
status nvarchar(10) 針對目前的會話,識別會話目前為使用中或閑置。 在過去會話中,會話狀態可能會顯示為已關閉或已終止(如果會話已強制關閉)。 ACTIVE、 、 CLOSEDIDLETERMINATED
request_id nvarchar(32) 目前查詢或上次查詢執行的標識碼。 在系統中所有要求中是唯一的。 NULL 如果尚未執行,則為 。
security_id varbinary(85) 執行工作階段之主體的安全性識別碼。
login_name nvarchar(128) 執行工作階段之主體的登入名稱。 任何符合使用者命名慣例的字串。
login_time datetime 使用者登入並建立此會話的日期和時間。 目前時間之前的有效 日期時間
query_count int 擷取此會話自建立後已執行的查詢/要求數目。 大於或等於 0。
is_transactional bit 擷取會話目前是否在交易中。 0 表示自動認可, 1 適用於交易式。
client_id nvarchar(255) 擷取會話的客戶端資訊。 IPv6 位址表示已使用私人端點。 任何有效的字串。
app_name nvarchar(255) 擷取應用程式名稱資訊,選擇性地設定為連線程式的一部分。 任何有效的字串。
sql_spid int 標識碼數據行包含封閉式SPID。

如需此檢視所保留數據列上限的詳細資訊,請參閱容量限制主題中的元數據一節。

權限

需要 VIEW SERVER STATE 權限。

範例

若要尋找使用中工作階段的計數:

SELECT active_count = COUNT(session_Id)
FROM sys.dm_pdw_exec_sessions
WHERE status = 'ACTIVE';

若要尋找已開啟超過 10 分鐘的工作階段:

SELECT *, session_duration_s = DATEDIFF (s, login_time, getdate() ) 
 FROM sys.dm_pdw_exec_sessions
 WHERE DATEDIFF (s, login_time, getdate() ) > 600; -- 10 minutes