sys.dm_tran_top_version_generators (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengembalikan tabel virtual untuk objek yang menghasilkan versi terbanyak di penyimpanan versi. sys.dm_tran_top_version_generators mengembalikan 256 panjang rekaman agregat teratas yang dikelompokkan menurut database_id dan rowset_id. sys.dm_tran_top_version_generators mengambil data dengan mengkueri tabel virtual dm_tran_version_store. sys.dm_tran_top_version_generators adalah tampilan yang tidak efisien untuk dijalankan karena tampilan ini meminta penyimpanan versi, dan penyimpanan versi bisa sangat besar. Kami menyarankan agar Anda menggunakan fungsi ini untuk menemukan konsumen terbesar dari penyimpanan versi.
Catatan
Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_tran_top_version_generators. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Sintaks
sys.dm_tran_top_version_generators
Tabel Dikembalikan
Nama kolom | Jenis data | Deskripsi |
---|---|---|
database_id | int | ID Database. Di Azure SQL Database, nilainya unik dalam satu database atau kumpulan elastis, tetapi tidak dalam server logis. |
rowset_id | bigint | ID Himpunan Baris. |
aggregated_record_length_in_bytes | int | Jumlah panjang rekaman untuk setiap pasangan database_id dan rowset_id di penyimpanan versi. |
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
Karena sys.dm_tran_top_version_generators mungkin harus membaca banyak halaman karena memindai seluruh penyimpanan versi, menjalankan sys.dm_tran_top_version_generators dapat mengganggu performa sistem.
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.
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
Berikut adalah hasil yang ditetapkan.
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
Output menunjukkan bahwa semua versi dibuat oleh database_id``9
dan bahwa versi dihasilkan dari dua tabel.
Lihat juga
Tampilan dan Fungsi Manajemen Dinamis (Transact-SQL)
Tampilan dan Fungsi Manajemen Dinamis Terkait Transaksi (Transact-SQL)