- 文档首页
数据库工作台
SQL Server 用户指南
运维管理
锁分析管理
锁分析管理
数据库工作台 DBW 为云数据库 SQL Server 版实例提供锁分析功能,该功能专为数据库管理员及开发人员设计,用于深度诊断和解决 SQL Server 环境中的死锁问题。通过直观的表格列表与可视化的死锁关系图,您可快速识别死锁发生的上下文、涉及的进程、锁资源及 SQL 语句,从而精准定位性能瓶颈并制定优化方案。本文介绍如何在数据库工作台 DBW 管理云数据库 SQL Server 版实例的锁分析。
- 已创建实例且实例状态处于运行中。详细操作,请参见创建实例。
- 该功能当前处于邀测阶段,您可以提交工单联系技术人员实现数据迁移。
- 在使用锁分析功能期间,请勿操作变更实例的相关配置,否则会导致无法正常查看实例的锁信息。
- 死锁关系图展示规则:默认展示首个死锁的关联信息,如需查看其他死锁的关系图,可单击对应的死锁列表项。
- 在观测诊断页面右上角切换实例类型为云数据库 SQL Server 版。
- 在观测诊断页面左上角根据实例 ID 或实例名称切换目标实例。
- 在锁分析页签,您可以查看一下信息。
在死锁详细信息区域,按需自定义查询死锁信息的时间,默认展示近 7 天内的死锁信息。具体死锁信息,如下所示:
- LastTranStarted:事务开始时间,精确到毫秒,用于定位死锁发生的具体时刻。
- SPID:会话进程 ID,唯一标识一个数据库连接,是追踪死锁进程的关键标识。
- IsVictim:是否为死锁牺牲者。标记为 × 表示该进程被系统选为牺牲者并回滚,标记为 √ 表示该进程在死锁中被终止。
- LogUsed:该事务已使用的日志空间大小(单位:字节),反映事务规模。
- LockMode:锁模式,如 X 代表排他锁,表明该进程正持有或请求排他锁。
- WaitResourceDesc:当前事务等待中的资源详情,通常包含表名、索引名及键值,用于精确定位锁冲突对象。
- ObjectOwned:当前进程已持有的锁对象 ID。
- ObjectRequested:当前进程正在请求的锁对象 ID。
- WaitResource:当前事务等待中的资源。
- Status:当前事务的状态,suspended 表示该进程因等待资源而被挂起。
- ClientApp:当前事务所使用的客户端名称,如 SQLCMD,用于识别调用来源。
- SQLText:导致死锁的 SQL 语句文本,单击可复制,便于后续分析与优化。
您也可以单击表格任一行左侧的 + 号,可展开该行对应的 Deadlocked process 子表,查看该死锁事件中所有相关进程的详细信息。
在死锁关系图区域,以图形可视化的方式展示死锁的循环等待关系。您需要在死锁详细信息区域单击表格内的目标行,查看对应的死锁关系图。死锁关系图中每个节点表示一个进程,箭头表示请求或持有关系。
- 进程节点(红色/绿色边框):显示 SPID、主机地址、登录账号及日志使用量。红色边框表示被选为牺牲者的进程,绿色边框表示存活进程。
- 锁资源节点(Key Lock):显示锁的类型(如 Key Lock)、关联对象 ID、对象名称(如 TestDB.dbo.DeadlockTest)及索引名称(如 PK_Deadlock__3214EC2727******)。
- Owner mode: X:表示该进程持有排他锁。
- Request mode: X:表示该进程正在请求排他锁。
- 箭头从进程指向锁资源,表示“请求”;从锁资源指向进程,表示“持有”。
最近更新时间:2026.09.01 14:02:01