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-ebilmek var olmak çok büyük olduğundan verimli değildir.
Her sürüm bilgisi kaydı bazı izleme veya durum bilgisi ile birlikte ikili veri olarak saklanır. Benzer kayıtları veritabanı tablolarında, Sürüm deposu 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 saklandığı için farklı veritabanlarından alınan farklı alfabe ile hiçbir sorunları vardır. Kullanım sys.dm_tran_version_store sürüm deposunda mevcut ikili gösterimi satırları önceki sürümleri bulmak için.
Sözdizimi
sys.dm_tran_version_store
Dönen Tablo
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
transaction_sequence_num |
bigint |
Kayıt sürüm oluşturan hareketin sıra numarası. |
version_sequence_num |
bigint |
Sürüm kaydı sıra numarası. Bu, sürüm oluşturma hareket içinde benzersiz bir değerdir. |
database_id |
int |
Sürüm bilgisi kaydı veritabanı Kımlığı. |
rowset_id |
bigint |
Kaydın satır kümesi Kımlığı. |
durumu |
tinyint |
Sürüm bilgisi kaydını iki kayıt arasında bölünmüş olup olmadığını gösterir. Değer 0 ise, bir sayfada kaydı depolanır. Değer 1 ise, kayıt içine iki farklı sayfalarda bulunan iki kayıt ayrılmıştır. |
min_length_in_bytes |
smallint |
Minimum uzunluk bayt kaydın. |
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 resim. |
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 kısmı ikili resim. |
İzinler
Sunucu üzerindeki VIEW 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, her bir hareket sıra numarası (xsn) tarafından belirlenen dört eşzamanlı işlemler veritabanında READ_COMMITTED_SNAPSHOT ve ALLOW_SNAPSHOT_ISOLATION seçenek on olarak ayarlanmış olan ç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 bir güncelleştirme işlemidir.
58 xsn xsn 57 ile aynıdır.
xsn 59 anlık yalıtım altında seçin bir işlemdir.
Aynı .
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;
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
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 tablodaki bir satır sürümünü oluşturdu gösterir.
Ayrıca bkz.
Başvuru
Dinamik yönetimi görünümler ve işlevler (Transact-sql)
Hareket dinamik yönetimi görünümler ve işlevler (Transact-sql) ilgili