sys.dm_tran_session_transactions (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengembalikan informasi korelasi untuk transaksi dan sesi terkait.
Catatan
Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_tran_session_transactions
. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
id_sesi | int | ID sesi tempat transaksi berjalan. |
id_transaksi | bigint | ID transaksi. |
transaction_descriptor | biner(8) | Pengidentifikasi transaksi yang digunakan oleh SQL Server saat berkomunikasi dengan driver klien. |
enlist_count | int | Jumlah permintaan aktif dalam sesi yang bekerja pada transaksi. |
is_user_transaction | bit | 1 = Transaksi dimulai oleh permintaan pengguna. 0 = Transaksi sistem. |
is_local | bit | 1 = Transaksi lokal. 0 = Transaksi terdistribusi atau transaksi sesi terikat yang terdaftar. |
is_enlisted | bit | 1 = Transaksi terdistribusi terdaftar. 0 = Bukan transaksi terdistribusi yang terdaftar. |
is_bound | bit | 1 = Transaksi aktif pada sesi melalui sesi terikat. 0 = Transaksi tidak aktif pada sesi melalui sesi terikat. |
open_transaction_count | int | Jumlah transaksi terbuka untuk setiap sesi. |
pdw_node_id | int | Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW) Pengidentifikasi untuk simpul tempat distribusi ini aktif. |
Izin
Pada SQL Server dan SQL Managed Instance, memerlukan VIEW SERVER STATE
izin.
Pada tujuan layanan SQL Database Basic, S0, dan S1, dan untuk database di kumpulan elastis, akun admin server, akun admin Microsoft Entra, atau keanggotaan dalam ##MS_ServerStateReader##
peran server diperlukan. Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE STATE
pada database, atau keanggotaan dalam ##MS_ServerStateReader##
peran server diperlukan.
Izin untuk SQL Server 2022 dan yang lebih baru
Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.
Keterangan
Melalui sesi terikat dan transaksi terdistribusi, transaksi dapat berjalan di bawah lebih dari satu sesi. Dalam kasus seperti itu, sys.dm_tran_session_transactions
menunjukkan beberapa baris untuk yang sama transaction_id
, satu untuk setiap sesi di mana transaksi berjalan. Karena perbedaan dalam cara mereka direkam, open_transaction_count
mungkin tidak cocok sys.dm_exec_sessions
dengan .open_transaction_count
.
Dengan menjalankan beberapa permintaan dalam mode autocommit menggunakan beberapa set hasil aktif (MARS), dimungkinkan untuk memiliki lebih dari satu transaksi aktif pada satu sesi. Dalam kasus seperti itu, sys.dm_tran_session_transactions
menunjukkan beberapa baris untuk yang sama session_id
, satu untuk setiap transaksi yang berjalan di bawah sesi tersebut.