sys.dm_tran_session_transactions (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics 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 mengerjakan 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 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 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 Azure Active Directory, 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.

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 akan menampilkan beberapa baris untuk transaction_id yang sama, satu untuk setiap sesi tempat transaksi berjalan.

Dengan menjalankan beberapa permintaan dalam mode autocommit menggunakan beberapa tataan hasil aktif (MARS), dimungkinkan untuk memiliki lebih dari satu transaksi aktif pada satu sesi. Dalam kasus seperti itu, sys.dm_tran_session_transactions akan menampilkan beberapa baris untuk session_id yang sama, satu untuk setiap transaksi yang berjalan di bawah sesi tersebut.

Lihat juga

Tampilan dan Fungsi Manajemen Dinamis (SQL Transact)
Tampilan dan Fungsi Manajemen Dinamis Terkait Transaksi (SQL Transaksi)