sys.dm_tran_top_version_generators (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform 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.

Baca juga

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