SQL SERVER 2008 指定允許的對錶的鎖進行升級的方法

edwardking888發表於2010-07-28

最近公司資料庫全面升級到SQL SERVER2008R2系統

在對鎖進行管理方面有了很大的改善,允許對錶級粒度進行鎖管理。

具體語法如下:

ALTER TABLE 表名  SET ( LOCK_ESCALATION = { AUTO | TABLE | DISABLE } )

指定允許的對錶的鎖進行升級的方法。

AUTO

此選項允許 SQL Server 資料庫引擎選擇適合於表架構的鎖升級粒度。

  • 如果該表已分割槽,則允許將鎖升級到分割槽。鎖升級到分割槽級別之後,該鎖以後將不會升級到 TABLE 粒度。

  • 如果該表未分割槽,則會將鎖升級到 TABLE 粒度。

TABLE

無論表是否已分割槽,都會在表級粒度完成鎖升級。此行為與 SQL Server 2005 中相同。預設值為 TABLE。

DISABLE

在大多數情況下禁止鎖升級。表級別的鎖未完全禁止。例如,當掃描在可序列化隔離級別下沒有聚集索引的表時,資料庫引擎必須使用表鎖來保證資料的完整性。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-669728/,如需轉載,請註明出處,否則將追究法律責任。

相關文章