日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
sqlserver死鎖的檢測(cè)方法

sql server死鎖是在sql server數(shù)據(jù)庫(kù)中經(jīng)常發(fā)生的情況,下面就將對(duì)sql server死鎖進(jìn)行深入的解讀,供您參考。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供大東網(wǎng)站建設(shè)、大東做網(wǎng)站、大東網(wǎng)站設(shè)計(jì)、大東網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、大東企業(yè)網(wǎng)站模板建站服務(wù),十載大東做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

死鎖(deadlock)指進(jìn)程之間互相永久阻塞的狀態(tài),SQL可以檢測(cè)到死鎖,并選擇終止其中一個(gè)事務(wù)以干預(yù)sql server死鎖狀態(tài)。兩個(gè)進(jìn)程發(fā)生sql server死鎖的典型例子是:進(jìn)程T1中獲取鎖A,申請(qǐng)鎖B;進(jìn)程T2中獲取鎖B,申請(qǐng)鎖A,我們下面動(dòng)手來(lái)演示一下這種情況:

1. 創(chuàng)建一個(gè)Database,名為InvDB。

2. 執(zhí)行下面腳本創(chuàng)建person表并填充兩條數(shù)據(jù):

3. 在SQL Server Management Studio的兩個(gè)窗口中同時(shí)執(zhí)行下面的查詢:

這段代碼在默認(rèn)的READ COMMITTED隔離級(jí)別下運(yùn)行,兩個(gè)進(jìn)程分別在獲取一個(gè)排它鎖的情況下,申請(qǐng)對(duì)方的共享鎖從而造成死鎖。

可見一個(gè)進(jìn)程可以正常更新并顯示結(jié)果,而另一個(gè)進(jìn)程已經(jīng)被回滾:

(1 row(s) affected)
Msg 1205, Level 13, State 45, Line 8
Transaction (Process ID 55) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

4. 啟動(dòng) SQL Server Profiler,選擇下面4種Events:

再執(zhí)行一次上面的死鎖實(shí)驗(yàn),可以看到如下所示的死鎖圖:

 非常有趣的一點(diǎn)是:第二次執(zhí)行上述語(yǔ)句不會(huì)發(fā)生死鎖!這是因?yàn)榇藭r(shí)兩個(gè)進(jìn)程中,SQL Server會(huì)智能的識(shí)別出update語(yǔ)句是不需要做的,所以都不會(huì)去獲取排它鎖,當(dāng)然也就不會(huì)死鎖了。SQL Server 2008 的查詢優(yōu)化器還真是非常強(qiáng)大!

 

 

【編輯推薦】

SQL SERVER字段類型的說(shuō)明

SQL Server安全解析

保護(hù)sql server安全的措施

sql server安全的兩層模型

Sql Server日期時(shí)間函數(shù)


新聞名稱:sqlserver死鎖的檢測(cè)方法
URL分享:http://www.dlmjj.cn/article/djdseid.html