デッドロック

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

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

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

詳細については、SQL Server Books Online を参照してください。

参照

概念

ロックの基礎
ロックについて
トランザクション分離レベル
ロック ヒント (SQL Server Compact Edition)

ヘルプおよび情報

SQL Server Compact Edition のサポートについて