查询和下载慢查询日志

最近更新时间:2025-09-26 16:14:52

我的收藏
慢查询日志是用来记录在 SQL Server 中执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化。通常,SQL Server 慢查询日志是排查问题的 SQL 语句,以及检查当前 SQL Server 性能的一个重要功能。 本文为您介绍通过控制台查询和下载慢查询日志。
说明:
日志时间默认为北京时间,若修改了默认时区,则日志数据的存储时间显示为实例服务器所在时区时间,但控制台显示会是北京(UTC+8)时间。

SQL Server 慢查询相关说明

慢查询日志默认开启采集,不支持关闭。
慢查询日志采集阈值默认为1000毫秒(即1秒),表示超过1000毫秒的执行 SQL 会被记录为慢查询日志,支持修改慢查询日志采集阈值(1000毫秒 - 60000毫秒)。
慢查询日志文件默认每5分钟采集一次,即每5分钟内,超过慢查询采集阈值的执行 SQL 均会被记录。
慢查询日志保留时间默认为7天,到期后自动删除。

慢日志文件包含的字段说明

字段名称
描述
client_app_name
客户端应用程序名称。
client_hostname
客户端主机名。
cpu_time
远程过程调用所使用的 CPU 时间,单位:微秒。
duration
完成远程过程调用所需时间,单位:微秒。
last_row_count
最后执行的 SQL 语句返回的行数。
line_number
SQL 语句在源文件中的行号。
logical_reads
执行期间进行的逻辑读取次数。
offset
SQL 语句在源文件中的起始偏移量。
offset_end
SQL 语句在源文件中的结束偏移量。
parameterized
指示 SQL 语句是否已参数化。
physical_reads
执行期间进行的物理读取次数。
row_count
返回的行数。
spills
查询执行期间溢出数据库写入的页数。
sql_text
SQL 语句的文本内容。
statement
执行的 SQL 语句。
username
执行操作的用户名。
writes
查询执行期间进行的写入次数。
connection_reset_option
用于重置连接的选项。此段仅适用于重置连接远程过程调用。
client_connection_id
在连接时客户端提供的可选标识符。
data_stream
用于重播跟踪的远程过程调用二进制流。
database_name
数据库名称。
object_name
远程过程调用所引用的对象名称。
output_parameters
从远程过程调用返回的输出参数。
query_plan_hash
查询计划哈希,使用此哈希可以标识相似的查询执行计划。您可以使用查询计划哈希找到具有类似执行计划的查询的累计开销。
result
远程过程调用的返回值。

操作步骤

设置慢查询日志采集阈值

2. 在上方选择地域,找到需要查询或下载慢查询日志的实例,单击实例 ID 或在其操作列单击管理,进入实例管理页。
3. 在实例管理页,选择操作日志 > 操作日志设置

4. 在弹窗下设置慢查询日志采集阈值,单击保存
说明:
慢查询日志采集预置默认值为1000毫秒,请根据实际需求修改。
如需在此操作过程中设置阻塞及死锁事件采集,请参见 查询和下载阻塞事件及死锁事件


查询和下载慢查询日志

2. 在上方选择地域,找到需要查询或下载慢查询日志的实例,单击实例 ID 或在其操作列单击管理,进入实例管理页。


3. 在实例管理页,选择操作日志 > 慢查询日志,可以查看慢查询日志列表。
支持查看的字段信息为:文件名、文件生成开始时间、文件生成结束时间、文件大小、操作(下载)。
支持根据时间范围检索慢日志:近5分钟、近15分钟、近半小时、近1小时、近3小时、近24小时、今天、昨天、近3天、近7天、近30天以及自定义时间段。

4. 操作列单击下载,即可下载慢查询日志文件。

相关 API

API
描述
接口(DescribeSlowlogs)用于获取慢查询日志文件信息。