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

          軟件下載吧

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

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

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

          前言

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

          死鎖的四個必要條件:

          • 互斥條件(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美女一区二区三区| 日本一区二区三区免费高清| 无码中文人妻在线一区| 国产成人无码精品一区不卡| 国产一区二区中文字幕| 国产精品一区二区四区| 一区二区三区在线| 日本视频一区在线观看免费| 免费高清在线影片一区| 在线观看午夜亚洲一区| 中文字幕精品亚洲无线码一区应用| 中文字幕一区日韩精品| 免费萌白酱国产一区二区三区| 精品国产一区二区三区久久影院| 国产一区二区四区在线观看 | 黄桃AV无码免费一区二区三区 | 在线视频一区二区三区四区| 国产一区二区三区91| 高清一区高清二区视频| 四虎成人精品一区二区免费网站| 精品一区二区三区免费毛片爱| 国产熟女一区二区三区四区五区 | 国产成人综合精品一区| 国产精品一区二区资源| 丰满爆乳无码一区二区三区| 国产福利91精品一区二区| 久久精品黄AA片一区二区三区| 国产一区二区高清在线播放| 美女免费视频一区二区三区| 日本在线电影一区二区三区 | 国产一区二区免费| 无码人妻精品一区二区三区在线| 国产在线精品一区二区中文 | 国产在线精品一区免费香蕉| 中文字幕在线一区二区三区| 无码人妻精品一区二区蜜桃百度| 精品一区二区三区3d动漫| 激情综合丝袜美女一区二区|