1

SQL Serverで、変更の追跡を有効にし、自動クリーンアップをfalseまたはtrueに設定し、保存期間を364日などと非常に長くしています。

Microsoft Sync Frameworkを使用して、最初は正常に同期し、2回目は同期しようとすると、エラーが発生します

「System.Data.SqlClient.SqlException(0x80131904):SQL Server変更追跡により、テーブル'TableName'の追跡情報がクリーンアップされました。このエラーから回復するには、クライアントはローカルデータベースを再初期化して、再試行する必要があります。」

自動クリーンアップがfalseに設定されているのに、追跡情報がクリーンアップされるのはなぜですか?

この記事で投稿された解決策を試しましたが、うまくいきませんでした。再初期化コードを実行すると、永久に時間がかかり、メモリ不足の例外が発生するまでRAM使用量が増え続けます。

私のデータベースは400MBを超え、同期されるレコードの総数は163,000レコードを超えています。最初の同期には長い時間がかかるため、このエラーが発生したときにローカルCEデータベースを削除することはできません。

4

1 に答える 1

0

サーバー データベースをバックアップから復元するときに、データベースに変更が発生する前に問題が発生することがわかりました。

したがって、簡単な解決策は、バックアップからデータベースを復元した後、追跡されたテーブルの任意の行の任意の列を更新するだけで、問題を解決することでした!

于 2014-10-01T08:27:44.687 に答える