トランザクションと接続
Microsoft SQL Server Compact 3.5 では、Microsoft SQL Server データベースに接続してデータを交換する方法として、リモート データ アクセス (RDA) とマージ レプリケーションの 2 つがサポートされています。
重要
その後の同期で正しい変更を収集できるようにするため、同期を開始する前に、データベースの排他ロックが一時的に設定されます。このとき、ロックを取得するまでの間、同期処理は待機状態となります。割り当てられた時間内にこのロックを取得できない場合、タイムアウト エラーが発生します。詳細については、「ロック (SQL Server Compact)」および「接続の管理 (SQL Server Compact)」を参照してください。
レプリケーション
マージ レプリケーションを使用する場合、1 つのトランザクションで初期化同期と再初期化同期が発生します。エラーが発生すると、すべての操作がロールバックされ、データベースは以前の状態のまま残ります。後続の同期は、一連の小さなトランザクションとして発生します。このため、複数のユーザーが同時にデータにアクセスできます。後続の同期中にエラーが発生しても、データベースは一貫性のある状態を保てますが、サーバー データの一部が影響を受ける場合があります。同期に失敗した理由を識別し、再度同期を行って同期処理を完了してください。
RDA
RDA を使用する場合、Pull メソッドが 1 つのトランザクションとして実行されます。エラーが発生した場合、すべての操作がロールバックされ、データベースは以前の状態のまま残ります。Push 命令は、一連の小さなトランザクションとして発生します。このため、複数のユーザーが同時にデータにアクセスできます。Push メソッドの呼び出し時にエラーが発生した場合は、Push メソッドが失敗するので、変更したすべての行を再度プッシュする必要があります。詳細については、「RDA の競合の検出と報告」を参照してください。