SQL Server誤區(qū)30日談 第23天 有關(guān)鎖升級的誤區(qū)
更新時間:2013年01月09日 21:26:34 作者:
在SQL Server 2005和之前的版本,頁鎖會直接升級到表鎖。在SQL Server 2005或SQL Server 2008,你可以通過如下跟蹤標(biāo)志改變鎖升級的行為
誤區(qū) #23: 鎖升級的過程是由行鎖升級到頁鎖,再由頁鎖升級到表鎖
錯誤
實際不是,在SQL Server 2005和之前的版本,頁鎖會直接升級到表鎖。
在SQL Server 2005或SQL Server 2008,你可以通過如下跟蹤標(biāo)志改變鎖升級的行為:
標(biāo)志1211-完全禁止鎖升級,但鎖使用的內(nèi)存會被限制在動態(tài)分配內(nèi)存的60%,當(dāng)超過這個值時,更多的鎖將會伴隨著內(nèi)存溢出錯誤而失敗。
在SQL Server 2008中,還可以以表為單位進(jìn)行鎖行為的設(shè)置,可以通過ALTER TABLE blah SET (LOCK_ESCALATION = XXX),在這個命令中XXX所代表的是下面幾項中的一項:
TABLE: 直接從行鎖升級到表鎖。
錯誤
實際不是,在SQL Server 2005和之前的版本,頁鎖會直接升級到表鎖。
在SQL Server 2005或SQL Server 2008,你可以通過如下跟蹤標(biāo)志改變鎖升級的行為:
標(biāo)志1211-完全禁止鎖升級,但鎖使用的內(nèi)存會被限制在動態(tài)分配內(nèi)存的60%,當(dāng)超過這個值時,更多的鎖將會伴隨著內(nèi)存溢出錯誤而失敗。
- 標(biāo)志1224-禁止鎖升級,但內(nèi)存使用超過40%時,會自動開啟鎖升級
在SQL Server 2008中,還可以以表為單位進(jìn)行鎖行為的設(shè)置,可以通過ALTER TABLE blah SET (LOCK_ESCALATION = XXX),在這個命令中XXX所代表的是下面幾項中的一項:
TABLE: 直接從行鎖升級到表鎖。
- AUTO:如果存在表分區(qū),則升級為分區(qū)鎖,但不會進(jìn)一步升級。
- DISABLE:禁用鎖升級,這并不意味著禁用表鎖,就像BOL(Books Online entry)中所說,在序列化隔離等級的條件下進(jìn)行表掃描等操作時還需要表鎖。
在2008年1月的時候,我寫了一篇包含分區(qū)鎖例子的博文,請看:SQL Server 2008: Partition-level lock escalation details and examples。
或許你會想為什么LOCK_ESCALATION = XXX設(shè)置中AUTO不是默認(rèn)值,這時因為早期測試中某些人發(fā)現(xiàn)這個選項更容易引起死鎖。就像對于上述兩個有關(guān)鎖的跟蹤標(biāo)記一樣,對于這個選項設(shè)置為AUTO也同樣需要謹(jǐn)慎。
相關(guān)文章
深入SQL SERVER合并相關(guān)操作Union,Except,Intersect的詳解
本篇文章是對SQL SERVER合并相關(guān)操作Union,Except,Intersect進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06使用 GUID 值來作為數(shù)據(jù)庫行標(biāo)識講解
使用 GUID 值來作為數(shù)據(jù)庫行標(biāo)識講解...2007-05-05創(chuàng)建動態(tài)MSSQL數(shù)據(jù)庫表
下面是利用SQL語句創(chuàng)建數(shù)據(jù)庫、表、存儲過程、視圖、索引、規(guī)則、修改表、查看數(shù)據(jù)等的方法。2009-06-06sqlserver 數(shù)據(jù)庫日志備份和恢復(fù)步驟
sqlserver 數(shù)據(jù)庫日志備份和恢復(fù)實現(xiàn)步驟2009-05-05sqlserver游標(biāo)使用步驟示例(創(chuàng)建游標(biāo) 關(guān)閉游標(biāo))
這篇文章主要介紹了sqlserver游標(biāo)使用步驟,包括創(chuàng)建游標(biāo)、關(guān)閉游標(biāo),大家參考使用吧2014-01-01SQL Server 數(shù)據(jù)文件收縮和查看收縮進(jìn)度的步驟
這篇文章主要介紹了SQL Server 數(shù)據(jù)文件收縮和查看收縮進(jìn)度,SQL Server在刪除數(shù)據(jù)后,會重新利用這部分空間,所以如果不是空間緊張的情況下,可以不回收,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03