指定允许的对表的锁进行升级的方法。
AUTO
此选项允许 SQL Server 数据库引擎选择适合于表架构的锁升级粒度。
如果该表已分区,则允许将锁升级到分区。锁升级到分区级别之后,该锁以后将不会升级到 TABLE 粒度。
如果该表未分区,则会将锁升级到 TABLE 粒度。
TABLE
无论表是否已分区,都会在表级粒度完成锁升级。此行为与 SQL Server 2005 中相同。默认值为 TABLE。
DISABLE
在大多数情况下禁止锁升级。表级别的锁未完全禁止。例如,当扫描在可序列化隔离级别下没有聚集索引的表时,数据库引擎必须使用表锁来保证数据的完整性。
当表进行了分区并且 ALTER TABLE 的 LOCK_ESCALATION 设置设为 AUTO 时也会发生死锁。当 LOCK_ESCALATION 设为 AUTO 时,通过允许数据库引擎在 HoBT 级别而不是 TABLE 级别锁定表分区会增加并发情况。但是,当单独的事务在某个表中持有分区锁并希望在其他事务分区上的某处持有锁时,会导致发生死锁。通过将 LOCK_ESCALATION 设为 TABLE 可以避免这种类型的死锁,但此设置会因强制某个分区的大量更新以等待某个表锁而减少并发情况。