SQL Serverで、変更の追跡を有効にし、自動クリーンアップをfalseまたはtrueに設定し、保存期間を364日などと非常に長くしています。
Microsoft Sync Frameworkを使用して、最初は正常に同期し、2回目は同期しようとすると、エラーが発生します
「System.Data.SqlClient.SqlException(0x80131904):SQL Server変更追跡により、テーブル'TableName'の追跡情報がクリーンアップされました。このエラーから回復するには、クライアントはローカルデータベースを再初期化して、再試行する必要があります。」
自動クリーンアップがfalseに設定されているのに、追跡情報がクリーンアップされるのはなぜですか?
この記事で投稿された解決策を試しましたが、うまくいきませんでした。再初期化コードを実行すると、永久に時間がかかり、メモリ不足の例外が発生するまでRAM使用量が増え続けます。
私のデータベースは400MBを超え、同期されるレコードの総数は163,000レコードを超えています。最初の同期には長い時間がかかるため、このエラーが発生したときにローカルCEデータベースを削除することはできません。