sys.dm_pdw_exec_sessions (Transact-SQL)

Berlaku untuk:Azure Synapse Analytics AnalyticsPlatform System (PDW)

Menyimpan informasi tentang semua sesi yang saat ini atau baru saja dibuka. sys.dm_pdw_exec_sessions Tampilan manajemen dinamis (DMV) mencantumkan satu baris per sesi.

Nama kolom Jenis Data Deskripsi Jangkauan
session_id nvarchar(32) ID kueri saat ini atau kueri terakhir yang dijalankan (jika sesi TERMINATED dan kueri sedang dijalankan pada saat penghentian). Kunci untuk tampilan ini. Unik di semua sesi dalam sistem.
status nvarchar(10) Untuk sesi saat ini, mengidentifikasi apakah sesi saat ini aktif atau tidak aktif. Untuk sesi sebelumnya, status sesi mungkin menunjukkan tertutup atau terputus (jika sesi ditutup secara paksa). ACTIVE,CLOSED,IDLE,TERMINATED
request_id nvarchar(32) ID kueri saat ini atau kueri terakhir yang dijalankan. Unik di semua permintaan dalam sistem. NULL jika tidak ada yang dijalankan.
security_id varbinary(85) ID keamanan perwakilan yang menjalankan sesi.
login_name nvarchar(128) Nama login prinsipal yang menjalankan sesi. String apa pun yang sesuai dengan konvensi penamaan pengguna.
login_time datetime Tanggal dan waktu pengguna masuk dan sesi ini dibuat. Tanggalwaktu yang berlaku sebelum waktu saat ini.
query_count int Menangkap jumlah kueri/permintaan yang telah dijalankan sesi ini sejak pembuatan. Lebih besar dari atau sama dengan 0.
is_transactional bit Menangkap apakah sesi saat ini berada dalam transaksi atau tidak. 0 untuk penerapan otomatis, 1 untuk transaksional.
client_id nvarchar(255) Menangkap informasi klien untuk sesi. Alamat IPv6 menunjukkan titik akhir privat digunakan. String apa pun yang valid.
app_name nvarchar(255) Menangkap informasi nama aplikasi yang diatur secara opsional sebagai bagian dari proses koneksi. String apa pun yang valid.
sql_spid int Kolom ID berisi SPID tertutup.

Untuk informasi tentang baris maksimum yang dipertahankan oleh tampilan ini, lihat Metadata batas kapasitas.

Permissions

Memerlukan VIEW SERVER STATE izin.

Keterangan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics. Untuk kumpulan SQL tanpa server gunakan sys.dm_exec_sessions.

Examples

A. Sesi aktif

Untuk menemukan jumlah sesi aktif:

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

B. Sesi terbuka selama lebih dari 10 menit

Untuk menemukan sesi yang telah dibuka selama lebih dari 10 menit:

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. Menampilkan aplikasi/pengguna sesi yang saat ini terhubung

Untuk menemukan informasi sesi termasuk aplikasi sumber, siapa yang terhubung, dari mana koneksi berasal, dan apakah menggunakan Microsoft Entra ID atau autentikasi 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;