下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 數據庫 > MS_SQL > SQL開發知識:sql server中死鎖排查的全過程分析

          SQL開發知識:sql server中死鎖排查的全過程分析

          時間:2024-03-04 00:33作者:下載吧人氣:42

          前言

          記得以前客戶在使用軟件時,有偶發出現死鎖問題,因為發生的時間不確定,不好做問題的重現,當時解決問題有點棘手了。

          死鎖的四個必要條件:

          • 互斥條件(Mutual exclusion):資源不能被共享,只能由一個進程使用。
          • 請求與保持條件(Hold and wait):已經得到資源的進程可以再次申請新的資源。
          • 非剝奪條件(No pre-emption):已經分配的資源不能從相應的進程中被強制地剝奪。
          • 循環等待條件(Circular wait):系統中若干進程組成環路,該環路中每個進程都在等待相鄰進程正占用的資源。

          現總結下查看死鎖的常用二種方式:

          第一種是圖形化監聽:

            sqlserver –>工具–> sql server profiler   登錄后在跟蹤屬性中選擇如下圖:

          SQL開發知識:sql server中死鎖排查的全過程分析  

             監聽到的死鎖圖形如下圖

          SQL開發知識:sql server中死鎖排查的全過程分析

          SQL開發知識:sql server中死鎖排查的全過程分析   

          這里的描述大致是:有二個進程 一個進程ID是96, 另一個ID是348.   系統自動kill 掉了進程ID:96,保留了進程ID:348 的事務Commit。

          上面死鎖是由于批量更新出現PAG范圍鎖, 雙方進程在同一分區索引資源上。ID96,348都請求想獲取更新鎖(U),各占排它鎖(x)不釋放,直到鎖超時。

          第二種是使用日志跟蹤(errorlog)

          以全局方式打開指定的跟蹤標記

                  DBCC TRACEON(1222,-1)

                 DBCC TRACEON(1204,-1)

          使用  EXEC master..xp_readerrorlog 查看日志。 由于記錄的死鎖信息太多,貼出幾個重點說下(紅色加粗表示)

          Deadlock encountered …. Printing deadlock information
          Wait-for graph
          NULL
          Node:1
          PAGE: 7:1:6229275 CleanCnt:2 Mode:IX Flags: 0x3
          Grant List 3:
          Owner:0x00000004E99B7880 Mode: IX Flg:0x40 Ref:1 Life:02000000 SPID:219 ECID:0 XactLockInfo: 0x0000000575C7E970
          SPID: 219 ECID: 0 Statement Type: UPDATE Line #: 84
          Input Buf: Language Event: exec proc_PUB_StockDataImport
          Requested by:
          ResType:LockOwner Stype:’OR’Xdes:0x0000000C7A905D30 Mode: U SPID:64 BatchID:0 ECID:59 TaskProxy:(0x0000000E440AAFE0) Value:0x8d160240 Cost:(0/0)
          NULL

          Node:2
          PAGE: 7:1:5692366 CleanCnt:2 Mode:U Flags: 0x3
          Grant List 3:
          Owner:0x0000000D12099B80 Mode: U Flg:0x40 Ref:0 Life:00000001 SPID:64 ECID:0 XactLockInfo: 0x000000136B4758F0
          SPID: 64 ECID: 0 Statement Type: UPDATE Line #: 108
          Input Buf: RPC Event: Proc [Database Id = 7 Object Id = 907150277]

          標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 亚洲AV无码一区二区三区DV| 久久国产香蕉一区精品| 一区二区三区福利视频| 精品国产一区二区三区在线观看| 日本一区二区三区在线观看| 亚洲国产欧美一区二区三区| 国产午夜精品一区二区三区漫画| 在线精品一区二区三区| 香蕉在线精品一区二区| 日本一区二区三区不卡在线视频| 国产在线精品一区二区不卡| 精品视频一区二区| 无码夜色一区二区三区| 亚洲制服中文字幕第一区| 久久se精品一区精品二区国产| 国产精品久久久久一区二区三区 | 亚洲丶国产丶欧美一区二区三区| 久久精品中文字幕一区| 国产伦精品一区二区三区无广告 | 无码国产精品一区二区免费16| 一区二区中文字幕在线观看| 成人精品视频一区二区三区尤物| 波多野结衣一区视频在线| 无码人妻久久一区二区三区免费| 成人无码一区二区三区| 一区二区三区中文字幕| 国产在线精品一区二区在线看| 精品无码国产一区二区三区麻豆| 久久人做人爽一区二区三区| 91福利一区二区| 日韩人妻不卡一区二区三区| 亚洲AV色香蕉一区二区| 国产精品日本一区二区不卡视频 | 人成精品视频三区二区一区 | 国产精品合集一区二区三区 | 亚洲av无码一区二区乱子伦as| 国产成人无码一区二区在线观看| 国产成人久久精品麻豆一区| 国产精品视频一区二区三区不卡 | 国产日韩高清一区二区三区| 亚洲日本中文字幕一区二区三区|