华为云云数据库rds死锁分析_云淘科技

操作场景

RDS for SQL Server具有强大的死锁检测功能。当多个用户同时访问同一资源时,可能会出现死锁现象,即两个或多个进程互相等待对方释放资源,导致所有进程都无法继续执行。此时,SQL Server将选择其中一个进程终止(Kill),其他进程就可以完成其事务。

为解决上述问题,提供了锁统计页面。通过查看该页面,可快速定位数据库中发生的多种类型的死锁。死锁的详细信息页面展示了事务开始执行的时间、会话ID、被锁资源详情、死锁的模式等信息,帮助您定位和优化引发死锁的问题SQL及其他异常。

操作步骤

登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页签。
在左侧导航栏选择“智能DBA助手 > 历史诊断”。
选择“死锁分析”页签。

查看死锁数

选择需要查看的时间段(近1天、近1周、近2周、近1月或者自定义时间段),查看该时间段内死锁数。

图1 死锁数

查看死锁变化趋势

在死锁数页面可以选择需要查看时间段内的死锁变化趋势。

图2 死锁变化趋势

表1 死锁变化趋势参数说明

参数

说明

死锁总数

所有死锁数量。

Key Lock

索引相关死锁数。

Object Lock

对象相关死锁数。

Rid Lock

行死锁数。

Page Lock

页死锁数。

Compile Lock

编译死锁数。

查看死锁详情信息

选择需要查看时间段内的死锁详情信息。

图3 死锁详情信息

单击操作列的“死锁关系图”,可以查看死锁关系图。单击“下载”,可以下载当前死锁的详细内容。

下载的死锁关系图是XDL文件,可以通过SQL Server Management Studio(SSMS)客户端打开并查看。

图4 死锁关系图

表2 死锁详情信息参数说明

参数

说明

LastTranStarted

事务开启的时间。

SPID

开启事务的会话ID。

isVictim

该会话是否已被终止(Kill)。

Database

事务连接数据库名称。

LogUsed

会话已经生成的日志大小。单位:字节。

LockMode

锁模式。

WaitResourceDesc

当前事务等待中的资源详情。

ObjectOwned

已经被锁住的对象。

ObjectRequested

当前事务请求加锁的对象。

WaitResource

当前事务等待中的资源。

HostName

当前事务的主机名称。

LoginName

当前事务的账号名称。

Status

当前事务的状态。

ClientApp

当前事务所使用的客户端名称。

SQL

SQL语句详情。

操作

可查看死锁关系图。

父主题: 智能DBA

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家