適用対象:Azure Synapse Analytics
Analytics Platform System (PDW)
現在または最近開かれているすべてのセッションに関する情報を保持しています。
sys.dm_pdw_exec_sessions動的管理ビュー(DMV)は、セッションごとに1行を一覧表示します。
| 列名 | データの種類 | Description | 範囲 |
|---|---|---|---|
session_id |
nvarchar(32) | 現在のクエリのID、または最後のクエリ実行時(セッションが終了時でクエリが実行中の場合)です。 このビューのキー。 | システム内のすべてのセッションでユニークです。 |
status |
nvarchar(10) | 現在のセッションの場合、そのセッションが現在アクティブかアイドルかを特定します。 過去のセッションでは、セッションの状態が「閉じられた」または「終了」と表示されることがあります(強制的に閉鎖された場合)。 |
ACTIVE、CLOSED、IDLE、TERMINATED |
request_id |
nvarchar(32) | 現在のクエリまたは最後のクエリ実行のIDです。 | システム内のすべての要求で一意です。
NULL もし実行されていない場合。 |
security_id |
varbinary(85) | セッションを運営しているプリンシパルのセキュリティIDです。 | |
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 | IDs欄には閉じたSPIDが含まれています。 |
このビューで保持される最大行の詳細については、「 容量制限メタデータ」を参照してください。
Permissions
VIEW SERVER STATE アクセス許可が必要です。
注釈
この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。 サーバーレスSQLプールでは sys.dm_exec_sessionsを使います。
Examples
A. アクティブなセッション
アクティブなセッション数を調べるには:
SELECT active_count = COUNT(session_Id)
FROM sys.dm_pdw_exec_sessions
WHERE status = 'ACTIVE';
B. 10分以上のオープンセッション
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
C. 現在接続されているディスプレイセッションアプリケーション/ユーザーは
ソースアプリケーション、接続されている場所、接続の出所、Microsoft Entra IDかSQL認証のどちらを使っているかなどのセッション情報を見つけるためです。
SELECT DISTINCT CASE
WHEN len(tt) = 0
THEN app_name
ELSE tt
END AS application_name
,login_name
,ip_address
FROM (
SELECT DISTINCT app_name
,substring(client_id, 0, CHARINDEX(':', ISNULL(client_id, '0.0.0.0:123'))) AS ip_address
,login_name
,isnull(substring(app_name, 0, CHARINDEX('-', ISNULL(app_name, '-'))), 'h') AS tt
FROM sys.dm_pdw_exec_sessions
) AS a;