Sqlserver分析死鎖問題
問題展現:
sqlserver2014死鎖
Web前端查詢報錯:
死鎖問題:
問題重現去抓死鎖:
資料庫開啟死鎖跟蹤和trace跟蹤來抓取死鎖指令碼和執行SQL:
dbcc traceon(1222,-1)
死鎖指令碼會記錄在errorlog裡面。
執行SQL可以透過trace跟蹤抓取到:
伺服器程式ID:67的SQL可以抓取到。但是伺服器程式ID:110的SQL未執行完,被犧牲掉了,抓取不到,只能在死鎖指令碼里面看到部分SQL。
查詢errorlog的指令碼:
sqlserver2014死鎖
Web前端查詢報錯:
死鎖問題:
問題重現去抓死鎖:
資料庫開啟死鎖跟蹤和trace跟蹤來抓取死鎖指令碼和執行SQL:
dbcc traceon(1222,-1)
死鎖指令碼會記錄在errorlog裡面。
執行SQL可以透過trace跟蹤抓取到:
伺服器程式ID:67的SQL可以抓取到。但是伺服器程式ID:110的SQL未執行完,被犧牲掉了,抓取不到,只能在死鎖指令碼里面看到部分SQL。
查詢errorlog的指令碼:
exec xp_readerrorlog 0
go
可以看到打紅叉的部分是被死鎖犧牲掉的process
這個死鎖主要是一個伺服器程式ID:67,一個是伺服器程式ID:110
伺服器程式ID:67是個insert事務,佔用IX鎖
伺服器程式ID:110是個select事務,要求S鎖
產生頁爭用,導致了頁鎖。最後選擇犧牲掉了伺服器程式ID:110
當前解決辦法,對伺服器程式ID:110這個select事務裡面的查詢SQL最後加with(nolock)
可以看到打紅叉的部分是被死鎖犧牲掉的process
這個死鎖主要是一個伺服器程式ID:67,一個是伺服器程式ID:110
伺服器程式ID:67是個insert事務,佔用IX鎖
伺服器程式ID:110是個select事務,要求S鎖
產生頁爭用,導致了頁鎖。最後選擇犧牲掉了伺服器程式ID:110
當前解決辦法,對伺服器程式ID:110這個select事務裡面的查詢SQL最後加with(nolock)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2148763/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer的死鎖分析(1):頁鎖SQLServer
- MySQL 死鎖問題分析MySql
- MySQL鎖等待與死鎖問題分析MySql
- SQLServer 如何收集資料以排除 SQL 死鎖問題SQLServer
- MySQL死鎖問題MySql
- MySQL死鎖系列-線上死鎖問題排查思路MySql
- 手把手教你分析解決MySQL死鎖問題MySql
- 模擬SQLserver死鎖現象SQLServer
- SpringBoot Seata 死鎖問題排查Spring Boot
- Slave SQL執行緒與PXB FTWRL死鎖問題分析SQL執行緒
- 從一個死鎖問題分析最佳化器特性
- Python | 淺談併發鎖與死鎖問題Python
- 死鎖案例分析
- SQLServer記憶體問題分析SQLServer記憶體
- MySQL:一個死鎖分析 (未分析出來的死鎖)MySql
- 併發技術5:死鎖問題
- 解決Oracle死鎖問題步驟Oracle
- Oracle死鎖一例(ORA-00060),鎖表導致的業務死鎖問題Oracle
- GreatSQL 死鎖案例分析SQL
- Mysql使用kill命令解決死鎖問題MySql
- 故障分析 | MySQL死鎖案例分析MySql
- SQL SERVER死鎖查詢,死鎖分析,解鎖,查詢佔用SQLServer
- SQLSERVER 語句交錯引發的死鎖研究SQLServer
- MySQL鎖問題分析-全域性讀鎖MySql
- JAVA死鎖排查-效能測試問題排查思路Java
- 記一次 MySQL select for update 死鎖問題MySql
- 線上併發事務死鎖問題排查
- MySQL批量更新死鎖案例分析MySql
- AdornerDecorator的CacheMode繫結和windows鎖屏導致TableControl鎖死問題Windows
- 死鎖問題排查過程-間隙鎖的復現以及解決
- tempdb大量閂鎖等待問題分析
- 故障解析丨一次死鎖問題的解決
- 關於 SAP HANA 資料庫的死鎖問題(deadlock)資料庫
- MySQL死鎖系列-常見加鎖場景分析MySql
- MySQL:RR分析死鎖一列MySql
- MySQL死鎖分析與解決之路MySql
- 線上問題排查:記一次 Redis Cluster Pipeline 導致的死鎖問題Redis
- Python | 多執行緒死鎖問題的巧妙解決方法Python執行緒
- 記憶體混亂及解決方法和死鎖問題記憶體