2012-01-10 15 views
9

データが失われていると思われるクライアントがデータベースに格納されています。彼らは記録を入力してシス​​テムを終了し、翌日に再びそれらを見つけることができないと主張する。SQLサーバーテーブルにレコードがありません

影響を受けるテーブルのプライマリキーインデックスのID番号は、自動的にインクリメントされ、連続している必要があります。クライアントにはレコードを削除する機能がないため、問題があるようです。

私はDBCC CHECKDBDBCC REINDEXを使用しようとしましたが、レコードが再表示されず、問題が引き続き発生します。 VB.NET 2010のアプリからの出口で

は、私は各テーブルのレコードを書き込むために、次の使用:

Me.binds_Tablename1.EndEdit() 
Me.binds_Tablename2.EndEdit() 
TableAdapterManager.UpdateAll(Me.Dataset_1) 

をこのシステムは、2年間の罰金働いているが、今まで再生しています。データベースの破損が問題になりますか?

+0

何が起こっているのかわかりにくい! SQL文の監査とデータベース監査の仕様を使用して、deleteステートメントを使用してテーブルにアクセスしたプロセスを確認しましたか? – Mithrandir

+0

データベースになる可能性は低いです。 OccamのRazorは、データベースもコードも最近変更されていなければ、月のデータ/ユーザー/フェーズを出発点として見る必要があることを示します。 – Simon

答えて

0

これはソートされているように見えます - クライアントはミラーリングされたハードディスクを実行していましたSMARTエラー報告で転倒する。これが置き換えられて以来、問題は再発していません。

ありがとうございました!

2

メモリが使用されている場合、TableAdapterManager.UpdateAll()メソッドは更新をトランザクションにラップします。自動増分フィールドはトランザクション外で増加するため、トランザクションの一部がロールバックされている可能性があります。

+0

ありがとう、私はこれをチェックします。 –

3

これはちょうど始めてから、それは彼らが2012年のどこかに入っているか、それが2012年に関連している可能性があるかもしれない。この値は、ルックアップテーブルに存在しない、トランザクションはバック

ときにトランザクションロールますロールバックするID値は再利用されないため、ギャップが発生してロールバックが発生する理由を調べる必要があります

+0

ありがとうございます - 問題は実際には昨年末に始まった。私はロールバックをチェックアウトします。 –

関連する問題