2011-03-30 18 views
0

我有一個Microsoft SQl服務器2005數據庫,其表的主鍵具有身份規範設置爲yes以自動增量。在哪裏可以找到跳過行的身份規範日誌

最近主鍵跳過兩個數字(我知道是正常的,因爲它們不一定是順序的)。

但是,如果可能的話,我想知道它們爲什麼會跳過以及何時發生存儲過程回滾,並且主鍵序列沒有回滾或以某種方式被刪除。

我的問題是,微軟SQL服務器管理工​​作室是否有指定的區域存儲這樣的記錄,即事務日誌等,我可以試着去確定爲什麼會發生這種跳過。

回答

1

除非您的代碼記錄它沒有記錄。所以不行:SQL Server不記下這一點。

事務回滾或INSERT錯誤(這是單個語句回滾)會在數字序列中產生間隙。 SQL Server不記下這一點。

+0

感謝您的幫助,這就是我想知道的 – Stephen 2011-03-30 11:28:51

2

假設你有一個身份,每次遞增1,然後你會看到在你的IDS HAPS如果發生回滾 - 在回滾的情況下,IDENTITY值將可以回覆這樣的ID值它分配給該操作將基本上丟失。這完全是正常的行爲。

假設你有大量的INSERT,在一個插入失敗/回滾的情況下,那麼回滾IDENTITY值增量將是一個噩夢,因爲在此期間可能會有一大堆INSERT。

+0

嗨,是的,在這種情況下它增加1。它的插入量非常低,是否有任何地方可以找到記錄或記錄它爲什麼發生的原因?謝謝 – Stephen 2011-03-30 09:09:18

相關問題