sys.dm_tran_session_transactions (SQL Bertransaksi)
Berlaku untuk:
SQL Server (semua versi yang didukung)
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 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)