Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Sürüm mağazasında tüm sürüm kayıtlarını gösteren sanal bir tablo döndürür. sys.dm_tran_version_store çalışması verimsizdir çünkü tüm sürüm deposunu sorgulatır ve sürüm deposu çok büyük olabilir.
Her sürümlü kayıt, bazı takip veya durum bilgileriyle birlikte ikili veri olarak saklanır. Veritabanı tablolarındaki kayıtlara benzer şekilde, sürüm deposu kayıtları da 8192 baytlık sayfalarda saklanır. Bir kayıt 8192 baytı aşarsa, kayıt iki farklı kayda bölünür.
Versiyonlu kayıt ikili olarak saklandığı için, farklı veritabanlarından farklı derlemelerde bir sorun yaşanmaz. Önceki satır sürümlerini ikili temsilde bulmak için sys.dm_tran_version_store kullanın, sürüm mağazasında mevcut oldukları gibi.
Sözdizimi
sys.dm_tran_version_store
Döndürülen Tablo
| Sütun adı | Veri türü | Description |
|---|---|---|
| transaction_sequence_num | bigint | Kayıt versiyonunu oluşturan işlemin sıra numarası. |
| version_sequence_num | bigint | Versiyon kaydı dizi numarası. Bu değer, sürüm üreten işlemde benzersizdir. |
| database_id | int | Sürümlü kaydın veritabanı kimliği. Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir. |
| rowset_id | bigint | Kaydın sıra seti kimliği. |
| durum | tinyint | Bir versiyon edilmiş kaydın iki kayda bölünüp bölünmediğini gösterir. Değer 0 ise, kayıt bir sayfada saklanır. Değer 1 ise, kayıt iki farklı sayfada saklanan iki kayda bölünür. |
| min_length_in_bytes | smallint | Kaydın minimum uzunluğu bayt cinsinden. |
| record_length_first_part_in_bytes | smallint | Versiyonlanmış kaydın ilk kısmının bayt cinsinden uzunluğu. |
| record_image_first_part | varbinary(8000) | Versiyon kaydının ilk kısmının ikili görüntüsü. |
| record_length_second_part_in_bytes | smallint | Versiyon kaydının ikinci kısmının uzunluğu bayt cinsinden. |
| record_image_second_part | varbinary(8000) | Versiyon kaydının ikinci kısmının ikili görüntüsü. |
Permissions
SQL Server ve SQL Yönetilen Örneği'ne VIEW SERVER STATE izni gerekir.
SQL Veritabanı Temel,S0 ve S1 hizmet hedeflerinive elastik havuzlardaki veritabanları için, sunucu yöneticisi hesabı, Microsoft Entra yönetici hesabı veya ##MS_ServerStateReader##sunucu rolü üyeliği gereklidir. Diğer tüm SQL Veritabanı hizmet hedeflerinde, veritabanında VIEW DATABASE STATE izni veya ##MS_ServerStateReader## sunucu rolü üyeliği gereklidir.
SQL Server 2022 ve üzeri için izinler
Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.
Örnekler
Aşağıdaki örnek, her biri bir işlem dizisi numarası (XSN) ile tanımlanan dört eşzamanlı işlemin ALLOW_SNAPSHOT_ISOLATION ve READ_COMMITTED_SNAPSHOT seçeneklerinin ON olarak ayarlandığı bir veritabanında çalıştığı bir test senaryosunu kullanır. Aşağıdaki işlemler devam etmektedir:
XSN-57, serileştirilebilir izolasyon altında bir güncelleme işlemidir.
XSN-58, XSN-57 ile aynıdır.
XSN-59, anlık görüntü izolasyonu altında seçilmiş bir işlemdir.
XSN-60, XSN-59 ile aynıdır.
Aşağıdaki sorgu yürütülür.
SELECT
transaction_sequence_num,
version_sequence_num,
database_id rowset_id,
status,
min_length_in_bytes,
record_length_first_part_in_bytes,
record_image_first_part,
record_length_second_part_in_bytes,
record_image_second_part
FROM sys.dm_tran_version_store;
Sonuç kümesi aşağıdadır.
transaction_sequence_num version_sequence_num database_id
------------------------ -------------------- -----------
57 1 9
57 2 9
57 3 9
58 1 9
rowset_id status min_length_in_bytes
-------------------- ------ -------------------
72057594038321152 0 12
72057594038321152 0 12
72057594038321152 0 12
72057594038386688 0 16
record_length_first_part_in_bytes
---------------------------------
29
29
29
33
record_image_first_part
--------------------------------------------------------------------
0x50000C0073000000010000000200FCB000000001000000270000000000
0x50000C0073000000020000000200FCB000000001000100270000000000
0x50000C0073000000030000000200FCB000000001000200270000000000
0x500010000100000002000000030000000300F800000000000000002E0000000000
record_length_second_part_in_bytes record_image_second_part
---------------------------------- ------------------------
0 NULL
0 NULL
0 NULL
0 NULL
Çıktı, XSN-57'nin bir tablodan üç satır versiyonu oluşturduğunu, XSN-58'in ise başka bir tablodan bir satır versiyonu oluşturduğunu gösteriyor.
Ayrıca Bkz.
Dinamik Yönetim Görünümleri ve İşlevleri (Transact-SQL)
İşlemle İlgili Dinamik Yönetim Görünümleri ve İşlevleri (Transact-SQL)