2016-01-13 74 views
0

我們有SQL Server 2008 R2上的數據庫和一個表中的數據不時神祕地消失。數據通過Web應用程序調用存儲過程在數據庫中插入。用戶輸入數據並保存後,他必須因業務邏輯而打印這些數據。但正如我之前所說有時數據從有20列的表中消失;一列(讓我們稱之爲id_column)是PK並具有身份(1,1)屬性。在檢查了表中的數據之後,我們注意到id_column值之間存在差距,例如:100,101,102,103,106 ...因此104和105丟失。在這些ID上應該是缺失的數據,我們知道他們在那裏,因爲我們已經打印了報告。我們在此表上設置了刪除觸發器,但未刪除行。我們還從發生這種情況的時間恢復了日誌備份,但在日誌文件中沒有刪除操作。你能否幫助解釋他們如何消失以及如何防止這種情況?提前致謝。數據神祕地從sql server表中消失

+0

是數據庫鏡像還是複製?如果是,什麼類型? –

+0

不,既不鏡像也不復制... – Dalibor

+0

關於刪除觸發器有什麼作用? –

回答

3

如果事務已啓動但後來回滾,您將在ID中存在空白。 如果刪除觸發器未觸發,並且在事務日誌中看不到刪除,我會說刪除從未發生過。但回滾可能。

+0

是的,這是合乎邏輯的......我們正在使用存儲過程來保存數據try ... catch,如果插入有問題,事務回滾......但在這種情況下,數據將不會被保存到表中,並且我們已經打印出證據證明他們在那裏..或者其他回滾事務?任何想法誰和如何? – Dalibor

+0

實際上,數據將被保存到表格中(至少從同一連接看),並且如果您在事務處於活動狀態但未提交時從相同的數據庫連接完成打印,那麼您的情況是完全可能的。 – Arvo

+0

@阿沃好吧,你是對的...以及如何防止這種情況? – Dalibor