Bagikan melalui


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_sessionsdengan .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.

Langkah berikutnya