システム開発ブログ

SQLServer

システム開発

データベース

SQLServerロックのエスカレーション

SQL Server 2008 R2 以上のバージョンでは、ロックエスカレーションという仕組みがあります。粒度が細かい多数のロック (行ロックやページロックなど) をテーブルロックに変換する処理で、特定のスキャンで保持するロックの数、トランザクション全体が保持するロックの数、および システム全体としてロックに使用しているメモリを考慮に入れてSQLServerが動的にエスカレーションのタイミングを決定します。デフォルトの設定より、パフォーマンスが改善されるような場面、または過度のシステムロックメモリをより適切なレベルまで下げる必要があるときにのみ発生します。ただし、一部のアプリケーションなどでは、不適切な場合にロックのエスカレーションが発生することがあり、エスカレートしたテーブルのロックが他のユーザーをブロックすることがあります。もしくは稀にデッドロックを引き起こすこともあるようです。

システム周りのお悩みを解決します

まずは無料ダウンロード

この記事に関連する記事の一覧


システム開発ブログ

Twitterでilovex_officialをフォローしてください

カテゴリー

以前の部署別ブログ

ページのトップ