sqlserver 死結筆記(轉)

來源:互聯網
上載者:User

標籤:blog   http   io   ar   os   使用   sp   strong   檔案   

所謂的死結,主要是由於進程B要訪問進程A所在的資源,而進程A又由於種種原因,不釋放掉其所佔用的資源,所以資料庫就會一直處於阻塞狀態。

四個必要條件:

必要條件:互斥,一個資源,在同一時間點上,只能由一個進程訪問。

死結分析:當任務TA在使用資源RA的時候,產生了未預知的問題,從而意外的停止了執行,但是還沒有釋放RA,所以就造成的對資源RA的死結,這個也是死結產生最根本的原因,其他的原因基本上都是由這個為基礎的。

必要條件:資源的請求與保持,每一個進程都可以在使用一個資源的同時,申請訪問另一個資源。

死結分析:由於每一個進程都可以申請訪問多個資源,所以當任務TA使用資源RA的時候,申請訪問正在被任務TB使用的資源RB,而此時,TB要申請正在被TA使用的RA,所以就造成了互相等待的情況,從而死結。

必要條件:資源的非剝奪,進程無法將正在被其他進程使用的資源強行剝奪過來。

死結分析:當產生其他情況的時候,正是由於這個條件,從而造成的進程的無止境等待。

必要條件:資源的迴圈等待

死結分析:TA申請RA,而TB正在使用RA,同時TB申請RB,但TC正在使用RB,此時TC申請RC,而RC正在被TA使用,從而產生死結。

可能產生死結的資源

  1. RID,堆中的單行
  2. KEY,索引中的鍵,行鎖
  3. PAG,頁
  4. EXT,區結構
  5. HOBT,堆或B樹
  6. TAB,表,包括資料和索引
  7. File,資料庫檔案
  8. APP,應用程式專用資源
  9. METADATA,中繼資料
  10. Allocation_Unit,配置單位
  11. DB,整個資料庫

避免產生死結的方法

由於死結是因為上述的四個必要條件共同作用所產生的,所以按照一般的思路,只要能夠打破其中一個,就可以有效避免死結的產生。

下面是針對四個必要條件所可以作出的處理:

  1. 允許資源的並發訪問。
  2. 允許進程的資源剝奪。
  3. 進程遠行所需資源一次提交。
  4. 資源的有序分配,也就是按同一順序訪問資源。

 

其他方法(這些方法的主要目標是使資源的佔用時間最小化,從而降低死結的產生機會):

  1. 避免事務中的使用者互動。
  2. 保持事務中簡短並處於一個批處理中。
  3. 使用較低層級的隔離等級。
  4. 使用基於資料列版本設定的隔離等級。
  5. 使用綁定串連,及將多個會話綁定到一個事務中,這樣可以有效減少事務的數量。

 

 轉自http://www.cnblogs.com/sitemanager/archive/2012/03/26/2417638.html

主要參考文章:

  1. http://www.cnblogs.com/happyhippy/archive/2008/11/14/1333922.html        「強烈推薦」
  2. http://msdn.microsoft.com/zh-cn/library/ms177433.aspx                                   「MSDN」
  3. http://www.cnblogs.com/ching/archive/2012/02/01/2334659.html                   「很詳細的另一篇」

sqlserver 死結筆記(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.