次の方法で共有


デッドロック

デッドロックは、2 つの接続が互いをブロックした場合に発生します。詳細については、SQL Server オンライン ブックを参照してください。

Microsoft SQL Server とは異なり、Microsoft SQL Server Compact 4.0 では、デッドロックの検出が行われません。SQL Server Compact 4.0 では、ロックのタイムアウトを使用してデッドロックを処理します。トランザクションがリソースにロックを設定しようとしても、ロックのタイムアウト内にその操作を行えない場合は、エラーが発生します。ロックのタイムアウトにより、トランザクションは、別のトランザクションで保持されているリソースを無限に待機することはしません。ロックのタイムアウト値は変更できます。詳細については、「ロック タイムアウト」を参照してください。

2 つのトランザクションがデッドロックに関与している場合、リソースを待機するトランザクションのいずれかがタイムアウトし、エラーが発生します。タイムアウトするトランザクションはアクティブな状態のままになり、コミットもロールバックもされません。その後、もう一方のトランザクションは、必要なロックを取得し、処理を続行します。

詳細については、SQL Server オンライン ブックを参照してください。

関連項目

概念

ロックの基礎

ロックについて

トランザクション分離レベル

ロック ヒント