クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
SQL Server
SQL Server 2008
データベース エンジン
開発
データのクエリと変更
 ロックの互換性 (データベース エンジン)
コミュニティ コンテンツ
このセクションの内容
すべて縮小/すべて展開 すべて縮小
その他のバージョンについては、以下の情報を参照してください。
SQL Server 2008 オンライン ブック (2009 年 7 月)
ロックの互換性 (データベース エンジン)

ロックの互換性により、複数のトランザクションが同じリソースのロックを同時に獲得できるかどうかが制御されます。リソースが別のトランザクションによって既にロックされている場合、要求されたロックのモードと既存のロックのモードに互換性がある場合のみ、新しいロック要求の許可が可能になります。要求されたロックのモードと既存のロックとの互換性がない場合、新しいロックを要求しているトランザクションは、既存のロックが解除されるか、またはロックがタイムアウトするのを待機します。たとえば、排他ロックと互換性があるロック モードはありません。排他 (X) ロックが保持されている間は、その排他 (X) ロックが解除されるまで、他のトランザクションはこのリソースに対してどの種類のロック (共有、更新、排他) も獲得できません。リソースに共有 (S) ロックが適用されている場合は、他のトランザクションもそのアイテムの共有ロックまたは更新 (U) ロックを獲得できます。最初のトランザクションが完了している必要はありません。ただし、共有ロックが解除されないと、他のトランザクションは排他ロックを獲得できません。

次の表に、最も一般的に使用されるロック モードの互換性を示します。

  既に許可されているモード          

要求されたモード

IS

S

U

IX

SIX

X

インテント共有 (IS)

不可

共有 (S)

不可

不可

不可

更新 (U)

不可

不可

不可

不可

インテント排他 (IX)

不可

不可

不可

不可

インテント排他付き共有 (SIX)

不可

不可

不可

不可

不可

排他 (X)

不可

不可

不可

不可

不可

不可

ms186396.note(ja-jp,SQL.100).gifメモ :
インテント排他 (IX) はすべての行ではなく一部の行を更新することを指定するものなので、IX ロックは IX ロック モードと互換性があります。一部の行を読み取ったり更新したりする他のトランザクションも、他のトランザクションによって更新されている同じ行でない限り、許可されます。

次の表を使用すると、Microsoft SQL Server で使用できるすべてのロック モードの互換性を確認できます。

ロックの互換性を示す表の図
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker