Scalable Lock Escalation

With databases now reaching hundreds of gigabytes in size, the database management system must be capable of scaling efficiently. SQL Server employs a scalable lock escalation strategy based on a percentage of table size, avoiding premature lock escalation for large tables. For example, when a transaction is performing a scanned UPDATE, it can acquire a very large number of page locks, requiring escalation to a table-level lock at some point. Unlike some systems with a fixed escalation threshold (usually 200 pages, which would trigger a premature escalation for large tables), SQL Server allows this threshold to be configured by the DBA. The DBA might configure the threshold as a percentage of table size (20 percent, for example) or in terms of a specific number of pages. SQL Server can employ the optimal locking strategy for a table or database of any given size.