使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何读取 Amazon RDS for SQL Server 中的服务器端跟踪?

1 分钟阅读
0

我想读取 Amazon Relational Database Service(Amazon RDS)for SQL Server 中的服务器端跟踪。

简短描述

Amazon RDS 是一项托管服务,因此它不允许用户访问操作系统。如果使用自托管安装的 SQL Server,那么您可以访问主机。也可以使用探查器 GUI 来打开跟踪文件。可以运行客户端跟踪来远程连接到 Amazon RDS 数据库实例,然后收集跟踪。然后在远程客户端上创建跟踪文件。由于分析器是一个客户端工具,因此如果连接丢失,跟踪就会停止。为避免丢失连接,可以运行服务器端跟踪

解决方法

使用 T-SQL 语句读取服务器端跟踪

  1. 通过运行类似于以下 T-SQL 语句的命令来确定服务器中当前正在运行的跟踪:

    select * from sys.traces;

    sys.traces 目录视图包含系统上当前运行的跟踪。记下输出中跟踪值的路径。步骤 2 和 3 需要此路径。

  2. 通过运行类似于以下 fn_trace_gettable 函数的命令来读取跟踪文件:

    select * from ::fn_trace_gettable('enter_trace_output_value', default);

    **注意:**将 enter_trace_output_value 替换为步骤 1 输出的跟踪值。

  3. 或者,可以将服务器端跟踪结果保存到数据库表中。然后,可以通过运行类似于以下 fn_trace_gettable 函数的命令,将数据库表用作 Tuning Advisor 的工作负载:

    SELECT * INTO RDSTrace
    FROM fn_trace_gettable('enter_trace_output_value', default);

    **注意:**将 enter_trace_output_value 替换为步骤 1 输出的跟踪值。

这些命令将加载 D:\rdsdbdata\Log 目录中所有名为 RDSTrace.trc 的文件的结果。这会将所有翻转文件(例如 RDSTrace_1.trc)包含到当前数据库中名为 RDSTrace 的表中。

跟踪和转储文件会不断积累,并会占满磁盘空间。默认情况下,Amazon RDS 会清除超过七天的跟踪和转储文件。可以使用 rds_set_configuration 存储过程设置跟踪文件保留来修改跟踪文件的保留期。下面的存储过程将跟踪文件保留期设置为 24 小时(1440 分钟):

exec rdsadmin..rds_set_configuration 'tracefile retention', 1440;

相关信息

使用跟踪文件和转储文件

Microsoft SQL Server 数据库日志文件

使用 Database Engine Tuning Advisor 分析 Amazon RDS for SQL Server 数据库实例上的数据库工作负载

Amazon RDS for Microsoft SQL Server

AWS 官方
AWS 官方已更新 7 个月前