sys.dm_tran_current_snapshot (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengembalikan tabel virtual yang menampilkan semua transaksi aktif pada saat transaksi rekam jepret saat ini dimulai. Jika transaksi saat ini bukan transaksi rekam jepret, fungsi ini tidak mengembalikan baris. sys.dm_tran_current_snapshot mirip dengan sys.dm_tran_transactions_snapshot, kecuali bahwa sys.dm_tran_current_snapshot hanya mengembalikan transaksi aktif untuk transaksi rekam jepret saat ini.
Catatan
Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_tran_current_snapshot. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Sintaks
sys.dm_tran_current_snapshot
Tabel Dikembalikan
Nama kolom | Jenis data | Deskripsi |
---|---|---|
transaction_sequence_num | bigint | Nomor urutan transaksi transaksi aktif. |
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.
Contoh
Contoh berikut menggunakan skenario pengujian di mana empat transaksi bersamaan, masing-masing diidentifikasi oleh nomor urutan transaksi (XSN), berjalan dalam database yang memiliki opsi ALLOW_SNAPSHOT_ISOLATION dan READ_COMMITTED_SNAPSHOT diatur ke AKTIF. Transaksi berikut berjalan:
XSN-57 adalah operasi pembaruan di bawah isolasi yang dapat diserialisasikan.
XSN-58 sama dengan XSN-57.
XSN-59 adalah operasi pilih di bawah isolasi rekam jepret.
XSN-60 sama dengan XSN-59.
Kueri berikut dijalankan dalam cakupan XSN-59.
SELECT
transaction_sequence_num
FROM sys.dm_tran_current_snapshot;
Berikut adalah hasil yang ditetapkan.
transaction_sequence_num
------------------------
57
58
Hasilnya menunjukkan bahwa XSN-57 dan XSN-58 aktif pada saat transaksi rekam jepret XSN-59 dimulai. Hasil yang sama ini berlanjut, bahkan setelah XSN-57 dan XSN-58 melakukan atau menggulung balik, sampai transaksi rekam jepret selesai.
Kueri yang sama dijalankan dalam cakupan XSN-60.
Berikut adalah hasil yang ditetapkan.
transaction_sequence_num
------------------------
57
58
59
Output untuk XSN-60 mencakup transaksi yang sama yang muncul untuk XSN-59, tetapi juga mencakup XSN-59, yang aktif ketika XSN-60 dimulai.
Lihat Juga
Tampilan dan Fungsi Manajemen Dinamis (Transact-SQL)
Tampilan dan Fungsi Manajemen Dinamis Terkait Transaksi (Transact-SQL)