sys.dm_tran_current_transaction (Transact-sql)
Geçerli oturumda hareketin durum bilgilerini görüntüleyen tek bir satır döndürür.
Sözdizimi
sys.dm_tran_current_transaction
Dönen Tablo
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
transaction_idFROM |
bigint |
Geçerli anlık işlem Kımlığı. |
transaction_sequence_num |
bigint |
Kayıt sürüm oluşturan hareketin sıra numarası. |
transaction_is_snapshot |
bit |
Anlık görüntü yalıtım durumu. Anlık yalıtım altında hareket başlatılmışsa bu değer 1'dir. Aksi halde, değeri 0'dır. |
first_snapshot_sequence_num |
bigint |
Anlık görüntü çekilirken aktif hareketleri düşük hareket sıra numarası. Yürütme, anlık hareket o zaman tüm etkin işlemler bir anlık görüntüsünü alır. NonSnapshot işlemleri için bu sütunda 0 gösterilir. |
last_transaction_sequence_num |
bigint |
Genel sıra numarası. Bu değer, sistem tarafından oluşturulan son hareket sıra numarası gösterir. |
first_useful_sequence_num |
bigint |
Genel sıra numarası. Bu değer eski hareket sıra numarası sürüm deposunda muhafaza edilebilir satır sürümleri olan hareket temsil eder. Önceki hareketleri tarafından oluşturulan satır sürümleri kaldırılabilir. |
İzinler
Sunucu üzerindeki VIEW server state izni gerektirir.
Ö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 her hareket kapsamı içinde yürütülür.
SELECT
transaction_id
transaction_sequence_num
transaction_is_snapshot
first_snapshot_sequence_num
last_transaction_sequence_num
first_useful_sequence_num
FROM sys.dm_tran_current_transaction;
SELECT
transaction_id
transaction_sequence_num
transaction_is_snapshot
first_snapshot_sequence_num
last_transaction_sequence_num
first_useful_sequence_num
FROM sys.dm_tran_current_transaction;
xsn 59 sonuç İşte.
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9387 59 1
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
57 61
first_useful_sequence_num
-------------------------
57
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9387 59 1
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
57 61
first_useful_sequence_num
-------------------------
57
Çıktı xsn 59 xsn 57 xsn 59 başlatıldığında etkin ilk hareket kullandığı anlık hareket olduğunu gösterir. Yani xsn 59 xsn 57 düşük bir hareket sıra numarası olan hareketleri tarafından işlenen verileri okur.
xsn 57 sonuç İşte.
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9295 57 0
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
NULL 61
first_useful_sequence_num
-------------------------
57
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9295 57 0
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
NULL 61
first_useful_sequence_num
-------------------------
57
xsn 57 anlık hareket olmadığı için first_snapshot_sequence_numolan NULL.
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