注意:说明:
注意:日志时间默认为北京时间,若修改了默认时区,则日志数据的存储时间显示为实例服务器所在时区时间,但控制台显示会是北京(UTC+8)时间。
一、SQL Server 慢查询相关说明
·慢查询日志默认开启采集,不支持关闭。
·慢查询日志采集阈值默认为1000毫秒(即1秒),表示超过1000毫秒的执行 SQL 会被记录为慢查询日志,支持修改慢查询日志采集阈值(1000毫秒 – 60000毫秒)。
·慢查询日志数据每累积满10MB 生成一个文件,单个文件上限固定为10MB,单个文件生成的时间跨度不固定,而是取决于日志产生的速度。
·慢查询日志保留时间默认为7天,到期后自动删除。
二、慢查询日志文件生成和下载策略
你可以下载慢查询日志文件以查看日志数据,进而排查问题。在下载文件之前,你可以通过以下描述了解文件生成和下载的策略以更快捷地进行查询和下载文件。
·当实例的慢查询日志数据每累积达到10MB 时,系统会自动切分并生成一个新文件,文件状态为“完成”后即可下载。
·当实例的慢查询日志数据尚未写满10MB 时,对应日志文件状态为“写入中”:若其中已有日志数据,你可在控制台对应日志列表中下载,系统将即时生成文件供你下载,无需等待写满10MB。
·若实例未产生任何慢查询日志数据,则不会生成日志文件,也不支持下载。
三、慢日志文件包含的字段说明
| 字段名称 | 描述 |
| 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 | 远程过程调用的返回值。 |
四、设置慢查询日志采集阈值
1. 登录 SQL Server 控制台。
2. 在上方选择地域,找到需要查询或下载慢查询日志的实例,单击实例 ID 或在其操作列单击管理,进入实例管理页。
3. 在实例管理页,选择操作日志 > 操作日志设置。
4. 在弹窗下设置慢查询日志采集阈值,单击保存。
注意:说明:
五、查询和下载慢查询日志
1. 登录 SQL Server 控制台。
2. 在上方选择地域,找到需要查询或下载慢查询日志的实例,单击实例 ID 或在其操作列单击管理,进入实例管理页。
3. 在实例管理页,选择操作日志 > 慢查询日志,可以查看慢查询日志列表。
·支持查看的字段信息为:文件名、文件生成开始时间、文件最后更新时间、文件大小、操作(下载)。
·支持根据时间范围检索慢日志:近5分钟、近15分钟、近半小时、近1小时、近3小时、近24小时、今天、昨天、近3天、近7天、近30天以及自定义时间段。
4. 在操作列单击下载,即可下载慢查询日志文件。
注意:说明:
注意:在单击下载时,存在以下几种情况。
六、相关 API
| API | 描述 |
| 获取慢查询日志文件信息 | 接口(DescribeSlowlogs)用于获取慢查询日志文件信息。 |