精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SQL Server 2008中SQL應用之二“鎖定(locking)”

數據庫 SQL Server
鎖是關系型數據庫系統中的常規和必要的一部分。那么在SQL中鎖是什么樣子的?如何查看鎖得活動?怎么控制表的鎖升級行為?在下文中筆者會為我們一一做出解答。

一、鎖的基本概念:

鎖定(Locking)是一個關系型數據庫系統的常規和必要的一部分,它防止對相同數據作 并發更新 或在更新過程中查看數據, 從而保證被更新數據的完整性。它也能防止用戶讀取正在被修改的數據 。Sql Server動態地管理鎖定,然而,還是很有必要了解Transact- SQL查詢如何影響SQL Server中的鎖定。在此,簡單介紹下鎖的基本常識。

鎖定有助于防止并發問題的發生。當一個用戶試圖讀取另一個用戶正在修改的數據,或者修改另一個用戶正在讀取的數據時,或者嘗試修改另一個事務正在嘗試修改的數據時,就會出現并發問題。

SQL Server資源會被鎖定,資源的鎖定方式稱作它的鎖定模式(lock mode),下表列出SQL Server處理的主要鎖定模式:

名稱       描述
共享 (S)  用于不更改或不更新數據的讀取操作,如 SELECT 語句。  
更新 (U)     用于可更新的資源中。 防止當多個會話在讀取、鎖定以及隨后可能進行的資源更新時發生常見形式的死鎖。 
排他 (X)      用于數據修改操作,例如 INSERT、UPDATE 或 DELETE。 確保不會同時對同一資源進行多重更新。
意向   用于建立鎖的層次結構。 意向鎖包含三種類型:意向共享 (IS)、意向排他 (IX) 和意向排他共享 (SIX)。  
架構   在執行依賴于表架構的操作時使用。 架構鎖包含兩種類型:架構修改 (Sch-M) 和架構穩定性 (Sch-S)。  
大容量更新 (BU)    在向表進行大容量數據復制且指定了TABLOCK 提示時使用。  
 
鍵范圍    當使用可序列化事務隔離級別時保護查詢讀取的行的范圍。 確保再次運行查詢時其他事務無法插入符合可序列化事務的查詢的行。

可以鎖定SQL Server中的各種對象,既可以是一個行,也可以是一個表或數據庫??梢枣i定的資源在粒度(granularity)上差異很大。從細(行)到粗(數據庫)。細粒度鎖允許更大的數據庫并發,因為用戶能對某些未鎖定的行執行查詢。然而,每個由SQL Server產生的鎖都需要內存,所以數以千計獨立的行級別的鎖也會影響SQL Server的性能。粗粒度的鎖降低了并發性,但消耗的資源也較少。下表介紹SQL Server可以鎖定的資源:

資源 說明
 KEY  索引中用于保護可序列化事務中的鍵范圍的行鎖。 
PAGE 數據庫中的 8 KB 頁,例如數據頁或索引頁。
EXTENT 一組連續的八頁,例如數據頁或索引頁。
HoBT  堆或B 樹。 用于保護沒有聚集索引的表中的 B 樹(索引)或堆數據頁的鎖。
TABLE  包括所有數據和索引的整個表。
FILE  數據庫文件。
RID   用于鎖定堆中的單個行的行標識符。
APPLICATION  應用程序專用的資源。
METADATA   元數據鎖。 
ALLOCATION_UNIT 分配單元。
DATABASE  整個數據庫。

不是所有的鎖都能彼此兼容。例如,一個被排他鎖鎖定的資源不能被再加其他鎖。其他事務必須等待或超時,直到排他鎖被釋放。被更新鎖鎖定的資源只能接受其他事務的共享鎖。被共享鎖鎖定的資源還能接受其他的共享鎖或更新鎖。

SQL Server自動分配和升級鎖。升級意味著細粒度的鎖(行或頁鎖)被轉化為粗粒度的表鎖。當單個T-SQL語句在單個表或索引上獲取5000多個鎖,或者SQL Server實例中的鎖數量超過可用內存閾值時,SQL Server會嘗試啟動鎖升級。鎖占用系統內存,因此把很多鎖轉化為一個較大的鎖能釋放內存資源。然而,在釋放內存資源的同時會降低并發性。

SQL Server 2008帶來了新的表選項,可以禁用鎖升級或在分區(而不是表)范圍啟用鎖升級。

二、查看鎖的活動

下面演示一個實例,它使用sys.dm_tran_locks動態視圖監視數據庫中鎖的活動。

打開一個查詢窗口,執行如下語句:

  1. USE AdventureWorks  
  2. BEGIN TRAN  
  3. SELECT ProductID, ModifiedDate  
  4. FROM Production.ProductDocument  
  5. WITH (TABLOCKX) 

打開另一個查詢窗口,執行:

  1. SELECT request_session_id sessionid,  
  2. resource_type type,  
  3. resource_database_id dbid,  
  4. OBJECT_NAME(resource_associated_entity_id,   
  5. resource_database_id) objectname,  
  6. request_mode rmode,  
  7. request_status rstatus  
  8. FROM sys.dm_tran_locks  
  9. WHERE resource_type IN ('DATABASE''OBJECT'

執行結果:

  1. /*sessionid    type    dbid    objectname    rmode    rstatus  
  2.      51      DATABASE    4        NULL         S       GRANT 
  3.      52      DATABASE    4        NULL         S       GRANT 
  4.      53      DATABASE    8        NULL         S       GRANT   
  5.      56      DATABASE    8        NULL         S       GRANT 
  6.      53      OBJECT      8    ProductDocument  X       GRANT 
  7. */  
  8.  

解析:本示例中,我們首先啟動了一個新事務,并使用TABLOCKX鎖提示(這個提示對表放置了排他鎖),對Production.ProductDocument表執行了一個查詢。查詢sys.dm_tran_locks動態管理視力可以監視當前SQL Server實例中打開了哪些鎖。它返回了AdventureWorks數據庫中活動鎖的列表??梢栽诮Y果中的***一行看到ProductDocument表上的排他鎖。

前三列定義了會話鎖、資源類型和數據庫ID。第四列使用了Object_Name函數,注意它使用了兩個參數(對象ID和數據庫ID)來指定訪問哪個名稱(第二個參數是SQL Server 2005 SP2引入的,它用來指定為了轉換對象名稱而使用哪個數據庫)。同時也查詢鎖定請求模式和狀態,***,From子句引用DMV,用Where子句指定了兩個資源類型。Resource_Type指定了鎖定的資源類型,如Database\Object\File\Page\Key\RID\Extent\Metadata\Application\Allocation_Unit或HOBT類型。依賴資源類型的resource_associated_entity_id,確定ID是object ID, allocation unit ID, 或Hobt ID。

如果resource_associated_entity_id列包含Object ID(資源類型為Object),可以使用sys.objects目錄視圖來轉換名稱。

如果resource_associated_entity_id列包含allocation unit ID(資源類型為Allocation_Unit),可以引用sys.allocatiion_units和contain_id聯結到sys.partitions上,就可以確定object ID。

如果resource_associated_entity_id列包含Hobt ID(資源類型為Key\page\Row或HOBT),可以直接引用sys.partitions,然后查找相應的Object ID。

對于Database、Extent、 Application或MetaData的資源類型,resource_associated_entity_id列將為0。

使用sys.dm_tran_locks能對無法預料的并發問題進行故障調試。例如,一個查詢會話占用鎖的時間可能比預期時間長而被鎖,或者鎖的粒度或鎖模式不是我們所期望的(可能是希望使用表鎖而不是更小粒度的行鎖或頁鎖)。理解鎖處于的鎖定級別有助于我們更有效地對查詢的并發問題進行故障調試。

三、控制表的鎖升級行為

每個在SQL Server中創建的鎖都會消耗內存資源。當鎖的數量增加時,內存就會減少。如果鎖的內存使用百分比超過一個特定閾值,SQL Server會將細粒度鎖(頁或行)轉換為粗粒度鎖(表鎖)。這個過程稱為鎖升級。鎖升級可以減少SQL Server實例占有的鎖數量,減少鎖內存的使用。

雖然細粒度會消耗更多的內存,但由于多個查詢可以訪問未鎖定的行,因此也會改善并發性。引入表鎖可能會減少內存的消耗,但也會帶來阻塞,這是因為一條查詢鎖住了整個表。根據使用數據庫的應用程序,這個行為可能是不希望發生的,而且你可能希望當SQL Server實施鎖升級時盡量獲得更多的控制。

SQL Server 2008引入了使用ALter table命令在表級別控制鎖升級的功能。現在可以從如下3個設置中選擇:

Table 這是SQL Server 2005中使用的默認行為。當設置為該值時,在表級別啟用了鎖升級,不論是否為分區表。

Auto 如果表已分區,則在分區級別(堆或B樹)啟用鎖升級。如果表未分區,鎖升級將發生在表級別上。

Disable 在表級別刪除鎖升級。注意,對于用了TABLOCK 提示或使用可序列化隔離級別下Heap的查詢時,你仍然可能看到表鎖。

下面示例演示了修改表的新設置:

  1. ALTER TABLE Person.Address  
  2. SET (LOCK_ESCALATION = AUTO)--注意這句在SQL Server 2005下會出錯  
  3. SELECT lock_escalation,lock_escalation_desc  
  4. FROM sys.tables  
  5. WHERE name='Address' 
  6.  
  7. /*lock_escalation    lock_escalation_desc  
  8. 2    AUTO  
  9. */ 

下來,我們禁用鎖升級:

  1. ALTER TABLE Person.Address  
  2. SET ( LOCK_ESCALATION = DISABLE)  
  3. SELECT lock_escalation,lock_escalation_desc  
  4. FROM sys.tables  
  5. WHERE name='Address' 
  6.  
  7. /*lock_escalation    lock_escalation_desc  
  8. 1    DISABLE  
  9. */ 

說明:在更改了這個配置后,可以通過查詢sys.tables目錄視圖的lock_escalation_desc列來驗證這個選項。

 原文出處:http://www.cnblogs.com/downmoon/archive/2011/02/18/1916117.html

【編輯推薦】

  1. SQL Server 2008中SQL應用之一“死鎖(Deadlocking)”
  2. 淺析SQL Server 2008中的代碼安全之一:存儲過程加密與安全上下文
  3. 淺析SQL Server 2008中的代碼安全之二:DDL觸發器與登錄觸發器
  4. 淺析SQL Server 2008中的代碼安全之三:通過PassPhrase加密
  5. 淺析SQL Server 2008中的代碼安全之四:主密鑰 
責任編輯:艾婧 來源: 博客園
相關推薦

2011-02-28 13:19:50

SQL Server SQL死鎖

2011-03-11 13:26:32

SQL ServerBlocking阻塞

2011-08-19 14:38:22

SQL Server 2008遞歸查詢

2011-08-19 14:03:36

SQL Server 檢索集合

2011-08-19 13:46:22

SQL Server 組裝有序集合

2011-02-18 17:31:18

SQL Server

2011-09-01 13:24:42

SQL Server 呈現GeoRSS訂閱的Bing Maps

2009-04-16 18:15:19

動作審核審核活動SQL Server

2009-04-16 17:44:31

2013-03-13 09:53:50

SQL Server

2011-08-19 10:40:27

SQL Server Merge命令

2009-04-16 17:03:12

報表開發工具報表制作SQL Server

2011-08-19 10:13:34

SQL Server Values新用途

2011-08-19 11:00:54

SQL Server WaitFor命令

2011-08-19 10:24:46

SQL Server Top新用途

2010-11-12 13:08:36

動態sql語句

2009-04-16 17:55:15

擴展熱插拔SQL Server

2009-04-16 17:24:56

報表處理報表內嵌SQL Server

2012-04-16 09:55:38

SQL Server

2012-04-06 10:13:08

SQLSQL Server
點贊
收藏

51CTO技術棧公眾號

欧美成人免费va影院高清| 欧美日韩精品在线观看| 91手机在线播放| 精品少妇theporn| 欧洲亚洲一区二区三区| 色域天天综合网| 美国av在线播放| 天天干天天插天天操| 日本美女一区二区| 欧美成人免费网| 白丝女仆被免费网站| 91伊人久久| 亚洲一二三区视频在线观看| 日本精品国语自产拍在线观看| 国产精品视频a| 国产精品一区毛片| 久久婷婷国产麻豆91天堂| 91玉足脚交白嫩脚丫| 电影中文字幕一区二区| 日韩欧美高清在线视频| 免费观看亚洲视频| 成人性生交大片免费看午夜 | 91视频 -- 69xx| 欧美人xxx| 久久久久久久综合色一本| 91日本视频在线| 中文字幕天堂在线| 一区二区日韩免费看| 欧美国产视频一区二区| 成人欧美一区二区三区黑人一| 天堂网av成人| 精品国产乱子伦一区| 韩国视频一区二区三区| 91精品产国品一二三产区| 亚洲国产精品一区二区久久恐怖片| 一区二区免费在线视频| 国产视频网站在线| 91视频在线看| 精品乱码一区| 性欧美8khd高清极品| 狠狠色丁香九九婷婷综合五月| 4438全国成人免费| 国产精品二区一区二区aⅴ| 91精品蜜臀一区二区三区在线| 日韩美女av在线| 亚洲av午夜精品一区二区三区| 亚洲影视资源| 欧美老年两性高潮| 亚洲欧美日韩一级| 成人自拍视频网| 欧美亚一区二区| 欧美日韩亚洲自拍| 91九色综合| 欧美三级电影一区| 午夜免费看视频| 啪啪av大全导航福利综合导航| 色呦呦一区二区三区| 北条麻妃在线视频观看| 成入视频在线观看| 欧美视频在线观看 亚洲欧| 妞干网在线视频观看| 成av人片在线观看www| 午夜精品视频一区| 国产精品丝袜久久久久久消防器材| 白白色在线观看| 欧美日韩精品在线播放| 国产黄色特级片| 国产成人精品一区二三区在线观看 | 国产黄色片视频| 亚洲免费播放| 国产99久久精品一区二区永久免费 | 日韩你懂的在线观看| 成年人性生活视频| 国产精品高潮呻吟久久久久| 亚洲国产成人久久| 色哟哟精品观看| 成人影视亚洲图片在线| 久久精品99久久久久久久久| 免费一级片在线观看| 91久久综合| 国产精品成人一区二区三区吃奶| 中文字幕一区二区三区人妻四季| 国产在线精品一区二区三区不卡 | 性生交生活影碟片| 99久久精品免费看国产免费软件| 免费影院在线观看一区| 在线看免费av| 亚洲大片一区二区三区| 黑鬼大战白妞高潮喷白浆| 亚洲精品三区| 亚洲国产精品va| 一级片黄色录像| 精久久久久久| 国产精品夜间视频香蕉| 成人久久精品人妻一区二区三区| www日韩大片| 艳母动漫在线免费观看| 英国三级经典在线观看| 欧美巨大另类极品videosbest | 欧美女v视频| 日韩一区在线免费观看| 欧美丰满熟妇bbbbbb百度| 国产一区二区三区朝在线观看| 欧美va亚洲va| 少妇人妻好深好紧精品无码| 国产精品99免费看| 国产精品久久久久久搜索| 亚洲av无码国产精品久久不卡| 91老师片黄在线观看| 国产内射老熟女aaaa| 国产精品专区免费| 欧美mv和日韩mv的网站| 国产日韩精品中文字无码| 国产日韩高清一区二区三区在线| 成人精品福利视频| 黄色片视频在线观看| 亚洲狠狠爱一区二区三区| 亚洲36d大奶网| 亚洲成aⅴ人片久久青草影院| 欧美日本高清一区| 这里只有精品6| 久久这里都是精品| 久草视频国产在线| 国产一区二区视频在线看| 国产亚洲视频在线观看| 亚洲精品1区2区3区| 国产成人免费视频网站高清观看视频 | 一区二区三区鲁丝不卡| 欧美精品久久久久久久久25p| 欧美精品国产白浆久久久久| 欧美大成色www永久网站婷| 中文字幕一二三四| 国产日产亚洲精品系列| 成人免费aaa| 9国产精品午夜| 欧美乱妇高清无乱码| 国产色在线视频| 亚洲欧洲日韩一区二区三区| 黄色高清无遮挡| 亚州av一区| 668精品在线视频| 天天干天天插天天操| 亚洲成人你懂的| 亚洲av无码一区东京热久久| 欧美激情1区| 亚洲综合小说区| 99视频免费在线观看| 91精品国产高清一区二区三区 | 五月激情久久久| 国产精品一区二区久久| a天堂中文在线88| 在线观看视频一区二区| 亚洲自拍偷拍图| 日本不卡123| 伊人情人网综合| 999精品视频在线观看| 久久九九免费视频| 国产乱淫av片免费| 亚洲乱码日产精品bd| 性生交大片免费看l| 欧美日韩国产一区精品一区| 国产精品久久波多野结衣| 51av在线| 亚洲老板91色精品久久| 日韩三级一区二区| 国产精品乱码人人做人人爱| 九九九九九九九九| 欧美日韩ab| 精品日本一区二区三区| 亚洲1234区| 日韩在线视频播放| 精品人妻一区二区三区换脸明星 | 老牛影视av一区二区在线观看| 性欧美亚洲xxxx乳在线观看| 你懂的免费在线观看| 欧美日韩精品一区二区三区四区 | 91精选在线观看| 国产一级特黄毛片| 久久亚洲综合av| 日韩在线一区视频| 1024精品一区二区三区| 日本在线播放不卡| 伦一区二区三区中文字幕v亚洲| 九色精品美女在线| 欧美男男激情freegay| 717成人午夜免费福利电影| 久久精品国产亚洲av麻豆色欲| 久久久精品天堂| 992tv人人草| 亚洲一区国产一区| 日韩一区二区三区高清| 亚洲高清在线一区| 青青草成人在线| 理论片午午伦夜理片在线播放| 亚洲国产精品久久久久| 欧美 亚洲 另类 激情 另类| 亚洲一二三区不卡| 97精品在线播放| 91亚洲精品乱码久久久久久蜜桃| 亚洲一区二区三区观看| 99成人在线| 99精品视频网站| 一个色免费成人影院| 懂色一区二区三区av片| 992tv国产精品成人影院| 欧美成人免费全部观看天天性色| 国产粉嫩一区二区三区在线观看| 欧美va亚洲va国产综合| 国产又粗又大又黄| 色嗨嗨av一区二区三区| 精品少妇一二三区| 国产精品短视频| 欧美图片第一页| 高清国产午夜精品久久久久久| 色www免费视频| 另类亚洲自拍| 久久久久久免费看| 欧美一区二区三区久久精品| 日本在线视频不卡| 日韩福利视频一区| 国产免费一区二区| 视频精品一区| 成人亚洲激情网| 成人1区2区| 国产999精品久久久影片官网| 9999精品成人免费毛片在线看 | 亚洲欧美日韩另类精品一区二区三区| 欧美调教在线| 国产精品亚洲不卡a| 欧美激情精品| 亚洲xxx大片| 国产免费av国片精品草莓男男| 国产精品久久不能| 老司机成人影院| 国产91精品青草社区| а_天堂中文在线| 欧美国产精品日韩| 人人超在线公开视频| 欧美猛男性生活免费| 50度灰在线| 欧美成在线视频| 欧美黑人xx片| 国模视频一区二区三区| av影视在线| 97超级碰碰人国产在线观看| 成入视频在线观看| 欧美亚洲国产视频| 在线中文字幕播放| 日本一本a高清免费不卡| 欲香欲色天天天综合和网| 欧美一级片免费在线| 日韩脚交footjobhd| 日本久久91av| 久久久久久久性潮| 国产欧美韩国高清| 国产精品国产三级在线观看| 亚洲精品日产aⅴ| 国产成人福利av| 免费在线成人av| 成人综合专区| 佐佐木明希av| 亚洲精品国产日韩| 国产日韩一区二区在线观看| 日韩黄色小视频| 日韩av.com| 高清久久久久久| 9.1成人看片免费版| 国产精品嫩草99a| 欧美日韩精品在线观看视频| 亚洲成人免费观看| 无码视频一区二区三区| 欧美日韩精品一区二区在线播放 | 精品香蕉在线观看视频一| 精品视频三区| 日韩三级影视基地| 国内高清免费在线视频| 日本欧美爱爱爱| 亚洲精品成a人ⅴ香蕉片| 91麻豆蜜桃| 国产一区毛片| 日韩不卡一二区| 一本一本久久| 午夜精品久久久久久久99热影院| 国产成人免费视频精品含羞草妖精| 精品无码在线视频| 国产精品久久福利| 日韩av在线播| 欧美日本韩国一区二区三区视频| 国产1区在线观看| 一区二区三区日韩在线| 手机在线免费av| 国产精品福利在线观看网址| 日本一区二区三区视频在线看| 久久久久久久久久久久久久久久av | 黄色激情视频在线观看| 色婷婷综合视频在线观看| av在线亚洲天堂| 国产一区二区三区欧美| 久久香蕉av| 国产一区二区丝袜高跟鞋图片| 乱亲女h秽乱长久久久| 中文字幕中文字幕99| 国产欧美日韩亚洲一区二区三区| 欧美激情第一区| 国产亚洲午夜高清国产拍精品| 欧美精品一区二区蜜桃| 欧美伊人久久久久久久久影院| 少妇人妻偷人精品一区二区| www.日韩系列| 欧美日韩精品一区二区三区视频| 国产伦精品一区二区| 亚洲高清资源在线观看| mm1313亚洲国产精品无码试看| 国产sm精品调教视频网站| 免费黄色国产视频| 一本色道久久综合亚洲aⅴ蜜桃| 性生交大片免费看女人按摩| 俺去亚洲欧洲欧美日韩| 日韩另类视频| 日韩av免费电影| 国产一区二区高清| 亚洲美女高潮久久久| 亚洲欧美日韩在线| 中文字幕一区二区久久人妻| 亚洲色图第三页| 色在线视频观看| 精品国产综合区久久久久久| 欧美欧美全黄| 北条麻妃亚洲一区| 亚洲天堂av一区| 91黄色在线视频| 中文字幕一区日韩电影| 国产精品久久久久av电视剧| 精品无人区一区二区三区| 尤物在线精品| 免费黄色三级网站| 亚洲一级二级三级在线免费观看| www.成人免费视频| 超碰97人人做人人爱少妇| 亚洲国产天堂| 一级黄色免费在线观看| 韩国精品在线观看 | 激情亚洲一区二区三区四区 | 99国内精品久久久久| 亚洲国产精品毛片| 麻豆国产精品777777在线| 99久久99久久精品免费| 欧美日韩精品免费观看视频| 香蕉视频免费在线播放| 成人黄色在线观看| 91不卡在线观看| 亚洲国产欧美日韩在线| 亚洲国产cao| 四虎影院在线播放| 日韩av免费在线| 国产精品手机在线播放| 亚洲一区二区三区四区五区xx| 国产精品麻豆99久久久久久| 国产一区二区在线播放视频| 欧美夫妻性生活视频| 久久狠狠久久| 国产精品亚洲αv天堂无码| 国产亚洲综合在线| 在线视频播放大全| 九九精品视频在线| 欧美爱爱网站| 日本成人黄色网| 亚洲特黄一级片| 少妇高潮一区二区三区69| 国产99视频在线观看| 99视频精品全部免费在线视频| ass极品水嫩小美女ass| 欧美色另类天堂2015| 91官网在线| 国产精品果冻传媒潘| 久久亚洲综合| www.99re7| 亚洲精品久久久久| 国产精品麻豆成人av电影艾秋| 日本高清xxxx| 久久先锋影音av| 国产精品爽爽久久| 性欧美xxxx交| 婷婷六月综合| 懂色av粉嫩av蜜乳av| 欧美精品xxxxbbbb| 黄色在线网站噜噜噜| 亚洲欧洲精品在线| 成人av在线网| 亚洲无码精品在线播放| 久久青草福利网站| 日产精品一区二区| 波多野结衣加勒比| 欧美久久久久久久久中文字幕| av剧情在线观看| 中文字幕精品一区日韩| 91麻豆国产香蕉久久精品| av网站在线免费看| 国产精品视频免费在线| 亚洲青色在线|