- 文档首页
云数据库 SQL Server 版
用户指南
数据库工作台
数据库工作台
数据库工作台
数据库工作台 (Database Workshop,简称 DBW) 是一款面向多类型数据库生命周期管理的统一云管理平台。DBW 是集数据库图形用户界面 (GUI)、故障排查和审计于一体的数据库 SaaS 产品,提供全方位观测分析、智能风险检核和自治运维等 Web 终端管理能力。为您提供稳定、安全和高效的数据库管理云服务。云数据库 SQL Server 版已对接数据库工作台(Database Workshop,简称 DBW),将 DBW 提供的锁分析、慢日志分析功能嵌入云数据库 SQL Server 版控制台。
本章节介绍锁分析、慢日志分析这两个功能。
通过锁分析功能,您可以查看和分析在云数据库 SQL Server 版数据库实例内发生的所有锁。
- 在使用事务与锁功能期间,请勿操作变更实例的相关配置,否则会导致无法正常查看实例的锁信息。
- 死锁关系图展示规则:默认展示首个死锁的关联信息,如需查看其他死锁的关系图,可单击对应的死锁列表项。
- 进入锁分析页签。有以下 2 种方法进入该页签,您任选其一即可:
直接在 SQL Server 控制台查看
前往 DBW 控制台查看
- 在实例列表页面,单击目标实例操作列的登陆工作台。
- 在数据库工作台左侧导航栏,选择运维管理 > 观测诊断。
- 在观测诊断页面右上角切换实例类型为云数据库 SQL Server 版。
- 查看锁信息。在 SQL Server 控制台的事务与锁页签或 DBW 控制台的锁分析页签,您可以查看死锁详细信息以及死锁关系图:
在死锁详细信息区域,按需自定义查询死锁信息的时间,默认展示近 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:表示该进程正在请求排他锁。
- 箭头从进程指向锁资源,表示“请求”;从锁资源指向进程,表示“持有”。
慢日志分析功能支持查看实例慢查询的发展趋势、统计与明细,并可以进一步分析主、备节点的慢日志信息,帮助您快速定位问题。
- 已为实例开启慢日志。若未开启慢日志,具体操作可参见开启慢日志。
- 当前仅支持查询主节点的慢日志,且查询结果最多展示 2 个日志文件中的前 100 条记录。
- 最多可以支持查看近 30 天内的慢日志数据,最长查询慢日志的时间跨度是 7 天。
- 在筛选查看某时间段内的慢 SQL 时,查询结束时间需晚于开始时间。
- 进入慢日志分析页面。有以下 2 种方法可进入该页面,您任选其一即可:
直接在 SQL Server 控制台查看
前往 DBW 控制台查看
- 在实例列表页面,单击目标实例操作列的登陆工作台。
- 在数据库工作台左侧导航栏,选择运维管理 > 观测诊断。
- 在观测诊断页面右上角切换实例类型为云数据库 SQL Server 版。
- 在 SQL Server 控制台的慢日志分析页签或 DBW 控制台的日志管理页签,支持筛选、查看慢日志和下载慢日志明细。具体如下:
您可按需筛选目标时间段。选择查询时间范围时,查询结束时间需晚于查询开始时间。
也可单击高级筛选,在展开的筛选区域,按需配置以下参数后,单击查询。
- 数据库名称:在输入框中输入目标数据库,然后回车,单次支持输入多个数据库。
- 执行 User:在输入框中输入目标用户,然后回车,单次支持输入多个执行 User。
- IP 来源:在输入框中输入多个目标 IP,然后回车,单次支持输入多个 IP 地址。
在慢 SQL 列表区域内,您可以查看每条 SQL 的信息,具体如下所示:
- 执行完成时间:此 SQL 语句于数据库服务器执行结束的具体时间。结合执行耗时,可计算出其开始时间,从而精准定位业务高峰期或特定时间点出现的性能问题。
- SQL:实际执行的 SQL 语句内容,支持复制。
- 数据库:该 SQL 语句具体执行所在的数据库(Schema),有助于快速定位受影响的业务库。
- IP 来源:发起 SQL 请求的客户端机器的 IP 地址。通过该字段,可以迅速获取是哪台应用服务器、开发人员的电脑,甚至是某个违规脚本在频繁调用慢 SQL。
- 应用名:发起请求的应用程序的名称(通常在数据库连接配置中指定)。它可直接表明是哪个业务系统(如“订单服务”“后台报表系统”)产生的慢查询。
- 执行 User:执行该 SQL 的数据库账号。用于判断是哪个业务账号或运维人员在进行操作,有助于排查权限滥用或特定业务逻辑方面的问题。
- 执行耗时(s):开始执行 SQL 至完成的总时长,单位为秒。用于判断一条 SQL 是否为慢 SQL 的最直接标准,包括 CPU 计算、磁盘 I/O、锁等待和网络传输等所有环节的总耗时。
- 影响行数:执行 SQL 后实际影响的数据行数(例如 UPDATE 或 DELETE 实际修改的行数,或者 SELECT 最终返回的行数)。若影响的行数较多,可能会导致大量的日志写入或网络传输压力。
- CPU 时间:数据库执行 SQL 时,CPU 实际用于计算(如解析、条件判断、函数运算等)所耗费的时间。若 CPU 时间与执行耗时相近,表明执行的 SQL 属于计算密集型(逻辑复杂)。若相差较大,则说明时间主要消耗在等待 I/O 或锁上。
- 总逻辑读:数据库为执行 SQL,从内存缓冲池中读取数据块的总次数。它是衡量 SQL 扫描数据量大小以及内存/CPU 消耗的关键指标。
- 总 I/O 写:执行 SQL 过程中,向磁盘写入数据块的总次数。像 INSERT、UPDATE、DELETE 等修改数据的操作,或者执行过程中产生大量的磁盘临时表、排序文件,均会导致较高的 I/O 写。
- 单击
下载图标,您可导出慢日志。
- 在导出对话框,按需勾选下载的慢日志需要包含的信息。
- 当前下载的慢日志信息可包含执行完成时间、SQL、数据库、IP 来源、应用名、执行 User、执行耗时(s)、影响行数、CPU 时间、总逻辑读和总 I/O 写。
最近更新时间:2026.10.15 16:01:51