Bagikan melalui


sys.dm_tran_session_transactions (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Titik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

sys.dm_tran_session_transactions Tampilan manajemen dinamis mengembalikan informasi korelasi untuk transaksi dan sesi terkait.

Nama kolom Jenis data Deskripsi
session_id int ID sesi tempat transaksi berjalan.
transaction_id 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.

Di Microsoft Fabric, keanggotaan dalam peran ruang kerjaKontributor atau peran yang lebih istimewa diperlukan untuk mengkueri sys.dm_tran_session_transactions.

Pada tujuan layanan SQL Database Basic, S0 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 merekam, open_transaction_count mungkin tidak cocok sys.dm_exec_sessions.open_transaction_count.

Dengan mengeksekusi beberapa permintaan dalam mode penerapan otomatis 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.

Untuk memanggil 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.