亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Blocked Process Report

2024-07-21 02:46:38
字體:
來源:轉載
供稿:網友
Blocked PRocess Report

當同個對象上有互斥的鎖存在時,查詢需要等待很長時間,我們是否可以收到來自SQL Server提醒?答案是可以的,做法非常簡單,因為SQL Server為你提供了稱為Blocked Process Report 的功能。很可惜這個功能默認是未啟用的。因此這篇文章我想給你講解下Blocked Process Report 的大致用法,當SQL Server出現鎖時,你可以用它來做的進一步的故障排除。

Blocked Process Report本身是個簡單的事件,你可以通過SQL Server Profiler或SQL Traces跟蹤。這個事件被稱為Blocked Process Report,你可以在Errors and Warnings事件組里找到它:

但那個事件只被突出(跟蹤),當你通過sp_configure選項指定blocked process threshold閥值在SQL Server實例級別啟用Blocked Process Report 功能時。那個參數只接收0到86400的數字,查詢必須要等到鎖持久的秒數后,SQL Server才會生成Blocked Process Report事件。默認情況下那個配置選項值為0,就是這個事件不會觸發。下面的代碼設置閥值為10秒鐘:

1 sp_configure 'blocked process threshold', 102 RECONFIGURE3 GO

為了演示Blocked Process Report,我通過一個UPDATE語句在AdventureWorks2008R2數據庫內部創建一個新的事務:

1 BEGIN TRANSACTION2 3 UPDATE Person.Person4 SET Title = 'Mr'5 WHERE BusinessEntityID = 1

在這個語句執行后,這個查詢現在需要在列BusinessEntityID值等于1的記錄上獲得一個排它鎖(Exclusive Lock (X))。在第2個會話現在我嘗試讀取同樣的記錄。在讀取期間,SQL Server嘗試獲取一個共享鎖(Shared Lock (S)),這就導致了阻塞情形:

1 SELECT * FROM Person.Person2 WHERE BusinessEntityID = 13 GO

當你啟動SQL Server Profiler且配置了Blocked Process Report事件,在10秒后,你就會看這個被報告:

從上圖可以看到,Blocked Process Report 本身就是一個xml數據,因此很容易對它進一步分析,如果你對XML和XQuery熟悉的話。

 1 <blocked-process-report> 2  <blocked-process> 3   <process id="process35ab1c8" taskpriority="0" logused="0" waitresource="KEY: 11:72057594045333504 (8194443284a0)" waittime="16986" ownerId="49004" transactionname="SELECT" lasttranstarted="2015-06-23T14:09:38.900" XDES="0x5f02138" lockMode="S" schedulerid="1" kpid="8512" status="suspended" spid="55" sbid="0" ecid="0" priority="0" trancount="0" lastbatchstarted="2015-06-23T14:09:38.900" lastbatchcompleted="2015-06-23T14:09:10.877" lastattention="2015-06-23T14:09:10.877" clientapp="Microsoft SQL Server Management Studio - 查詢" hostname="WXGFZCXXZX81-18" hostpid="4492" loginname="sa" isolationlevel="read committed (2)" xactid="49004" currentdb="11" lockTimeout="4294967295" clientoption1="671090784" clientoption2="390200"> 4    <executionStack> 5     <frame line="1" stmtstart="24" sqlhandle="0x020000006063873a3a5f7e72ad0b55e66df822bf70e6f14c"/> 6     <frame line="1" sqlhandle="0x0200000066bba411d9c6966611de8194e81441d7836a9554"/> 7    </executionStack> 8    <inputbuf> 9 SELECT * FROM Person.Person10 WHERE BusinessEntityID = 111    </inputbuf>12   </process>13  </blocked-process>14  <blocking-process>15   <process status="sleeping" spid="57" sbid="0" ecid="0" priority="0" trancount="3" lastbatchstarted="2015-06-23T14:09:36.050" lastbatchcompleted="2015-06-23T14:09:36.050" clientapp="Microsoft SQL Server Management Studio - 查詢" hostname="WXGFZCXXZX81-18" hostpid="4492" loginname="sa" isolationlevel="read committed (2)" xactid="47048" currentdb="11" lockTimeout="4294967295" clientoption1="671090784" clientoption2="390200">16    <executionStack/>17    <inputbuf>18 BEGIN TRANSACTION19 20 UPDATE Person.Person21 SET Title = &apos;Mr&apos;22 WHERE BusinessEntityID = 1   </inputbuf>23   </process>24  </blocking-process>25 </blocked-process-report>

XML數據里有2個重要節點– <blocked-process><blocking-process>。第1個– <blocked-process>描述阻塞的會話。在這里是對AdventureWorks2008R2執行SELECT語句查詢的會話。這里最重要的是waitresource的XML屬性,它包含會話上等待的鎖資源,超過了blocked process threshold 配置選項。

第2個<blocking-process>描述當前在資源上持互斥鎖的會話,在這個資源上其他會話需要獲取鎖。這里最重要的是<inputbuf>的XML元素,它顯示了SQL 語句需要的互斥鎖。手上有了這些信息,就很容易進一步進行故障排除,就是為什么阻塞閥值被超出,還有下一步對它如何處理(這里的會話是一個孤立的事務(orphaned transaction),殺掉了其他會話)。

當你使用Blocked Process Report時,你需要記住的最重要的是,SQL Server值為你生成對應的XML報告,不會為你解決鎖/死鎖。這就是,在生成Blocked Process Report后,SELECT語句的會話還是繼續運行——SQL Server這里不會殺掉這個會話——SQL Server只報告有個會話超過了blocked process threshold——剩下的一切都還是要你自己去處理。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久久久成人| 中文一区二区视频| 欧美亚洲国产日本| 亚洲最大激情中文字幕| 91热福利电影| 国产一区二区三区三区在线观看| 国内精品久久久久久影视8| 亚洲第一偷拍网| 成人写真福利网| 国产精品99久久久久久白浆小说| 日韩中文字幕在线免费观看| 精品爽片免费看久久| 伊人久久五月天| 日韩在线精品一区| 成人精品久久一区二区三区| 亚洲免费中文字幕| 亚洲18私人小影院| 国产精品精品国产| 成人激情视频在线观看| 91精品国产色综合久久不卡98| 国内免费精品永久在线视频| 欧美激情视频三区| 亚洲色图第三页| 亚洲视频网站在线观看| www.亚洲一二| 欧美激情欧美激情| 亚洲最大中文字幕| 欧美精品激情blacked18| 国产一区二区日韩精品欧美精品| www.美女亚洲精品| 欧美日韩激情小视频| 亚洲国产99精品国自产| 欧美日韩亚洲91| 久久久欧美一区二区| 国产亚洲一区精品| 国产日本欧美在线观看| 亚洲第一福利在线观看| 日韩免费在线观看视频| 欧美成人精品在线观看| 亚洲一区美女视频在线观看免费| 国模极品一区二区三区| 97在线观看免费高清| 日韩av一区二区在线观看| www.xxxx精品| 精品国产31久久久久久| 欧美激情一区二区三区在线视频观看| 国产欧美最新羞羞视频在线观看| 欧美在线视频网| 国产精品精品久久久| 在线电影欧美日韩一区二区私密| 亚洲精品一区二区在线| 成人欧美一区二区三区黑人| 国产精品第一区| 国产精品福利网站| 668精品在线视频| 欧美成人免费大片| 国产在线精品一区免费香蕉| 久久99国产精品自在自在app| 色综合久久88| 亚洲精品理论电影| 91在线免费观看网站| 91精品免费看| 亚洲第一级黄色片| 亚洲一区二区免费| 亚洲精品女av网站| 亚洲最大成人网色| 狠狠色狠色综合曰曰| 欧美精品久久久久a| 成人深夜直播免费观看| 国产偷国产偷亚洲清高网站| 亚洲欧美三级伦理| 国产人妖伪娘一区91| 国产精品嫩草影院久久久| 伊人久久久久久久久久久久久| 亚洲国产古装精品网站| 亚洲欧美国产精品久久久久久久| 欧美色videos| 欧美中文在线视频| 超碰97人人做人人爱少妇| 国产色视频一区| 国产欧美在线播放| 538国产精品一区二区在线| 成人激情黄色网| 亚洲欧美日韩精品| 欧美乱大交xxxxx另类电影| 欧美性做爰毛片| 国模gogo一区二区大胆私拍| 国产精品视频xxxx| 亚洲欧美国产一本综合首页| 在线观看91久久久久久| 国产日韩在线观看av| 欧美日韩另类字幕中文| 欧美尤物巨大精品爽| 日韩中文字幕视频在线| 国产999精品久久久影片官网| 91福利视频在线观看| 久久精品最新地址| 国产精品免费一区豆花| 日本成人精品在线| 欧美日韩另类视频| 国产色婷婷国产综合在线理论片a| 这里精品视频免费| 亚洲综合日韩中文字幕v在线| 日韩在线视频观看正片免费网站| 日本高清+成人网在线观看| 日本一区二区在线播放| 亚洲激情视频在线播放| 日韩欧美国产一区二区| 97人人模人人爽人人喊中文字| 国产日韩中文字幕| 亚洲视频777| 韩国美女主播一区| 成人欧美一区二区三区黑人孕妇| 国产精品久久久久久久美男| 亚洲激情视频网| 精品久久香蕉国产线看观看亚洲| 欧美性猛交xxxx乱大交| 日本亚洲精品在线观看| 91po在线观看91精品国产性色| 成人亲热视频网站| 欧美成人一区二区三区电影| 精品国产一区二区三区在线观看| 69久久夜色精品国产69乱青草| 成人国产精品久久久久久亚洲| 国产精品免费久久久久影院| 久久久久久国产精品| 亚洲第一精品夜夜躁人人爽| 精品丝袜一区二区三区| 日本韩国欧美精品大片卡二| 九九综合九九综合| 精品偷拍各种wc美女嘘嘘| 尤物九九久久国产精品的特点| 成人国产在线视频| 亚洲男子天堂网| 欧洲成人午夜免费大片| 国产日韩综合一区二区性色av| 4388成人网| 国产91在线播放九色快色| 日韩在线视频网| 欧美日韩亚洲一区二| 久久夜色精品国产欧美乱| 久久久999精品| 亚洲一区二区三区成人在线视频精品| 久久香蕉频线观| 欧美肥老太性生活视频| 国产日韩欧美在线视频观看| 日韩美女激情视频| 国产日本欧美一区二区三区在线| 欧美成人亚洲成人| 国产91精品久久久久| 国产精品亚发布| 午夜精品视频在线| 亚洲欧美在线免费| 国产一区二区免费| 国产精品一区二区久久久久| 欧美国产日韩免费| 欧美国产日韩一区二区三区| 国产精品自拍视频| 国产精品青草久久久久福利99| 欧美成人在线免费| 亚洲国产精品国自产拍av秋霞| 欧美日韩国产va另类| 亚洲免费伊人电影在线观看av| 亚洲欧美第一页|