SQL Server阻塞blocking案例分析
今天在效能測試過程中發現大量阻塞報警,檢查whoisactive()資料發現,阻塞blocking頭部session當前執行的語句如下:
<?query --
(@p0 int,@p1 datetime,@p2 bigint,@p3 bigint,@p4 bigint)INSERT INTO [LicenseAction]([LicenseActionTypeID], [ActionDate], [LicenseID], [DocumentID], [TransactionDetailID])
VALUES (@p0, @p1, @p2, @p3, @p4)
SELECT CONVERT(BigInt,SCOPE_IDENTITY()) AS [value]
--?>
被block的session有幾十個,但是當前執行的語句都一樣:
<?query --
UPDATE dbo.HT
SET IQuantity = IQuantity + 1,
IRIQuantity = IQuantity + 1,
QuotaFilledDate = CASE WHEN FilledDate IS NULL
AND IssuedQuantity + 1 >= QuotaQuantity THEN dbo.udf_GetCurrentDateTime()
ELSE QuotaDate
END
FROM dbo.Hunt
WHERE HID = @HID
--?>
鎖等待資訊如下:
<Lock resource_type="KEY" index_name="PK_Hunt" request_mode="U" request_status="WAIT" request_count="1" />
可以看出是主鍵爭用,初步分析是不同事務的同時更新相同的主鍵行造成的,開trace驗證
當前執行的雖然是insert語句,但是從whoisactive對於session持有的鎖分析得出,事務肯定是有其他對於Pk_hunt的key的爭用語句,單個事務的語句資訊果然包含對於pk_hunt表的更新儲存過程
可以看到確實是不同的transactionid同時更新相同的行造成的阻塞鏈
分析結果提交給測試人員,檢查配置並聯系開發人員進行修正。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69950462/viewspace-2662846/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server一次SQL調優案例SQLServer
- 案例分析:700G SQL Server資料庫遷移HGSQLServer資料庫
- SQL Server中的SELECT會阻塞SELECT相關資料SQLServer
- SQL SERVER--系統隱形殺手—阻塞與等待SQLServer
- 故障分析 | ClickHouse 叢集分散式 DDL 被阻塞案例一則分散式
- Blocking ElementsBloC
- HighgoDB查詢慢SQL和阻塞SQLGoSQL
- sql serverSQLServer
- SQL Server Page資料庫結構深入分析SQLServer資料庫
- Moebius for SQL ServerSQLServer
- sql server 使用SQLServer
- SQL Server教程SQLServer
- 如何建立SQL Server分析系統資料收集組BSSQLServer
- Go 中的阻塞分析Go
- SQL SERVER優化SQLServer優化
- Nodejs 操作 Sql ServerNodeJSSQLServer
- SQL Server 別名(as)SQLServer
- sql server遞迴SQLServer遞迴
- Sql server with as update用法SQLServer
- SQL Server下載SQLServer
- SQL Server Left joinSQLServer
- SQL Server SUBSTRING FunctionsSQLServerFunction
- SQL Server LEFT FunctionsSQLServerFunction
- SQL Server Unique ConstratintsSQLServer
- What is dbo in SQL Server?SQLServer
- ms sql server排序SQLServer排序
- SQL Server 替換SQLServer
- NIO非阻塞程式設計小案例程式設計
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- SQL Server郵件相關SQL語句出現嚴重的ASYNC_NETWORK_IO等待事件案例SQLServer事件
- [翻譯]:SQL死鎖-阻塞探測SQL
- MS SQL Server資料庫事務鎖機制分析(轉)SQLServer資料庫
- SQL Server CPU 利用率毛刺的分析定位與解決SQLServer
- SQL Server 2016升級遷移過程中效能問題解決案例SQLServer
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- Sql_server基本操作SQLServer
- SQL SERVER 2008安全配置SQLServer
- SQL SERVER實用技巧SQLServer