行ロックについて

Microsoft SQL Server 2005 JDBC Driver は、SQL Server の行ロックを使用します。 これによって、データベースで同時に変更を行う複数ユーザー間での同時実行制御が実装されます。 既定では、トランザクションとロックは接続ごとに管理されます。 たとえば、アプリケーションで 2 つの JDBC 接続が開かれている場合、一方の接続で取得したロックをもう一方の接続と共有することはできません。 どちらの接続でも、もう一方の接続によって保持されているロックと競合するロックは取得できません。

注意

行ロックの使用時にはフェッチ バッファ内のすべての行がロックされるため、フェッチ サイズを非常に大きく設定すると、同時実行性に影響を与える可能性があります。

ロックは、トランザクションの整合性とデータベースの一貫性を保つために使用します。 ロックを使用すると、他のユーザーがデータを変更している最中にそのデータを読み取ったり、複数のユーザーが同時に同一のデータを変更したりする危険性を回避できます。 ロックを使用しないと、データベース内のデータが論理的に正しくなくなったり、そのデータに対して実行したクエリから予期しない結果が返されたりする可能性があります。

注意

SQL Server の行ロックの詳細については、SQL Server オンライン ブックの「データベース エンジンのロック」を参照してください。

参照

その他のリソース

JDBC ドライバによる結果セットの管理