昨日、ID列のあるテーブルにレコードを突然挿入できなくなったという異常な問題が発生しました。
次のような単純な挿入:INSERT INTO MyTable(Column1、Column2)VALUES('text'、236764)
主キー制約違反のスローを開始しました。
テーブルでDBCCCHECKIDENTを実行したところ、SQL Serverが最後に使用された値の更新を停止したため、挿入時に古い値を使用して増分され、新しいID値は通常テーブルにすでに存在していたため、違反エラーが発生しました。 。
問題の解決は問題ではありませんでした。次に大きいシーケンス番号のテーブルを再シードしただけですが、これが発生するのはこれまで見たことがありません。
SQL ServerがIDプロパティの更新を停止する原因と、証拠を探す場所を誰かが知っていますか?レプリケーションやトリガーは含まれていません。これは単なる古いテーブルです。
編集:SQL Log Rescueが理想的でしたが、SQL Server 2000でのみ機能します。SQL2005ログ用の同様のツールはありますか?