Microsoft Sync Framework を使用して、N 層クライアント サーバー アーキテクチャでデータを同期しています。同期するデータ量が少ない場合、同期は正常に機能します。ただし、同期するデータが大量にある場合、データベースのロックの問題に直面しています。この動作の主な理由は、実行時間の長いトランザクションであると思われ、複数の同期エージェントからの他のトランザクションがブロックされます。これを次のようにテストしました:
Sql Server 2008 --> 物理マシン/VM - 失敗、ロックの問題がある
Sql Server 2008 R2 --> 物理マシン/VM - 物理で成功、VM で失敗
この動作を引き起こしている問題を教えてください。同期フレームワークはバッチのトランザクションを開き(同期でバッチ処理を使用しています)、バッチが完了するとコミットするため、この動作は同期フレームワークのドメイン外であると思います。ただし、複数のデータベース オブジェクトがロックされているときの動作を理解できません (ほぼすべてのテーブル オブジェクトがロックされていることに気付いた時点でも、長時間実行されるトランザクションです!)、