华为云云数据库rds死锁分析_云淘科技
操作场景
RDS for SQL Server具有强大的死锁检测功能。当多个用户同时访问同一资源时,可能会出现死锁现象,即两个或多个进程互相等待对方释放资源,导致所有进程都无法继续执行。此时,SQL Server将选择其中一个进程终止(Kill),其他进程就可以完成其事务。
为解决上述问题,提供了锁统计页面。通过查看该页面,可快速定位数据库中发生的多种类型的死锁。死锁的详细信息页面展示了事务开始执行的时间、会话ID、被锁资源详情、死锁的模式等信息,帮助您定位和优化引发死锁的问题SQL及其他异常。
操作步骤
登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页签。
在左侧导航栏选择“智能DBA助手 > 历史诊断”。
选择“死锁分析”页签。
查看死锁数
选择需要查看的时间段(近1天、近1周、近2周、近1月或者自定义时间段),查看该时间段内死锁数。
图1 死锁数
查看死锁变化趋势
在死锁数页面可以选择需要查看时间段内的死锁变化趋势。
图2 死锁变化趋势
参数 |
说明 |
---|---|
死锁总数 |
所有死锁数量。 |
Key Lock |
索引相关死锁数。 |
Object Lock |
对象相关死锁数。 |
Rid Lock |
行死锁数。 |
Page Lock |
页死锁数。 |
Compile Lock |
编译死锁数。 |
查看死锁详情信息
选择需要查看时间段内的死锁详情信息。
图3 死锁详情信息
单击操作列的“死锁关系图”,可以查看死锁关系图。单击“下载”,可以下载当前死锁的详细内容。
下载的死锁关系图是XDL文件,可以通过SQL Server Management Studio(SSMS)客户端打开并查看。
图4 死锁关系图
参数 |
说明 |
---|---|
LastTranStarted |
事务开启的时间。 |
SPID |
开启事务的会话ID。 |
isVictim |
该会话是否已被终止(Kill)。 |
Database |
事务连接数据库名称。 |
LogUsed |
会话已经生成的日志大小。单位:字节。 |
LockMode |
锁模式。 |
WaitResourceDesc |
当前事务等待中的资源详情。 |
ObjectOwned |
已经被锁住的对象。 |
ObjectRequested |
当前事务请求加锁的对象。 |
WaitResource |
当前事务等待中的资源。 |
HostName |
当前事务的主机名称。 |
LoginName |
当前事务的账号名称。 |
Status |
当前事务的状态。 |
ClientApp |
当前事务所使用的客户端名称。 |
SQL |
SQL语句详情。 |
操作 |
可查看死锁关系图。 |
父主题: 智能DBA
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家