我在我的審計觸發器中從sys.dm_tran_current_transaction捕獲transaction_id。我想知道的是transaction_id的唯一性。該文檔只說「當前快照的交易ID」。sys.dm_tran_current_transaction。 transaction_id的獨特之處
我只能假設這個「ID」將在稍後時間被重用,但我將不勝感激對此的一些確認。
我在我的審計觸發器中從sys.dm_tran_current_transaction捕獲transaction_id。我想知道的是transaction_id的唯一性。該文檔只說「當前快照的交易ID」。sys.dm_tran_current_transaction。 transaction_id的獨特之處
我只能假設這個「ID」將在稍後時間被重用,但我將不勝感激對此的一些確認。
@ ABCDEFGHI的回答是不錯的,只是要添加到它;
這是什麼導致您無法在審計表中使用transaction_id,因爲這種情況;插入TRANSACTION_ID = 42 SQL服務器
審計記錄重置 ...... 41個新批次執行... 審計記錄插入TRANSACTION_ID = 42
此外,您不能使用TRANSACTION_ID像一個時間戳(較高的值並不意味着稍後的變化_並且您不能說相同的ID意味着相同的事務
有趣的問題,這[維基百科頁面看起來相關](http://en.wikipedia.org/wiki/Microsoft_SQL_Server# Logging_and_Transaction) – Andomar
我不認爲這個ID很可能會被重用,你會注意到的,transaction_id是一個bigint可以達到9,223,372,036,854,775,807。它似乎也只會增加。 – Zhenny
@珍妮,請注意,該ID將被重複使用。在重新啓動SQL時重置transaction_id。 –