sys.dm_tran_version_store (Transact-SQL)
sürüm deposundaki tüm sürüm kayıtları görüntüler sanal bir tablo döndürür.sys.dm_tran_version_store tüm sürüm deposu sorgular ve sürüm deposu çok büyük olabilir çünkü çalıştırmak için verimli değildir.
Her sürüm bilgisi kaydı bazı izleme bilgisi ile birlikte ikili veri olarak saklanır.Benzer kayıtları veritabanı tabloları, sürüm-store kayıtları, 8192 bayt sayfalarında depolanır.Bir kaydı 8192 bayt aşarsa, kaydı iki farklı kayıtlar arasında bölünür.
Sürüm bilgisi kaydı bir ikili dosya olarak depolandığından, farklı veritabanlarından alınan farklı alfabe ile hiçbir sorun yok.Use sys.dm_tran_version_store sürüm deposunda bulunduğundan ikili sunumunu satırları önceki sürümleri bulunacak.
Sözdizimi
sys.dm_tran_version_store
Dönen Tablo
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
transaction_sequence_num |
bigint |
Sıra numarası hareketinin kayıt sürümoluşturur. |
version_sequence_num |
bigint |
Sürüm kaydı sıra numarası.Bu sürümbenzersiz değerdir-hareket üretiliyor. |
database_id |
int |
Sürüm bilgisi kaydı veritabanı kimliği. |
rowset_id |
bigint |
Kayıt kümesi kimliği. |
Durum |
tinyint |
Sürüm bilgisi kaydı iki kayıt arasında bölünmüş olup olmadığını gösterir.Değer 0 ise, bir sayfakaydı depolanır.Değer 1 ise, iki farklı sayfalarında depolanan iki kayıt içine kaydı ayrılır. |
min_length_in_bytes |
smallint |
En az uzunluğunu bayt kaydı. |
record_length_first_part_in_bytes |
smallint |
Uzunluğu bayt cinsinden sürüm bilgisi kaydı ilk bölümü. |
record_image_first_part |
varbinary(8000) |
sürüm kaydı ilk bölümünü ikili görüntüsü. |
record_length_second_part_in_bytes |
smallint |
İkinci bölümü sürüm kaydın bayt cinsinden uzunluğu. |
record_image_second_part |
varbinary(8000) |
sürüm kaydı ikinci bölümü ikili görüntüsü. |
İzinler
Sunucu üzerindeki görünüm server state izni gerektirir.
Görüntülemek için record_image_first_part ve record_image_second_part sütunlar, control server izni gerektirir.Aksi takdirde, bu sütunlar null döndürür.
Örnekler
Aşağıdaki örnek, ALLOW_SNAPSHOT_ISOLATION ve READ_COMMITTED_SNAPSHOT seçeneklerini küme açık olan bir veritabanında, her bir hareket sıra numarası (xsn) tarafından tanımlanan dört eşzamanlı işlemler çalıştırdığınız bir sınama senaryosu kullanır.Aşağıdaki işlemler çalıştırıyorsanız:
xsn 57, seri hale getirilebilir yalıtım altında güncelleştirme işlemidir.
58 xsn xsn 57 aynıdır.
xsn 59 anlık görüntü yalıtım altında seçin bir işlemdir.
XSN-60 is the same as XSN-59.
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 buradadı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 üç satır sürümleri bir tablo oluşturdu ve xsn 58 başka bir tablobir satır sürüm oluşturdu gösterir.