我想读取 Amazon Relational Database Service(Amazon RDS)for SQL Server 中的服务器端跟踪。
简短描述
Amazon RDS 是一项托管服务,因此它不允许用户访问操作系统。如果使用自托管安装的 SQL Server,那么您可以访问主机。也可以使用探查器 GUI 来打开跟踪文件。可以运行客户端跟踪来远程连接到 Amazon RDS 数据库实例,然后收集跟踪。然后在远程客户端上创建跟踪文件。由于分析器是一个客户端工具,因此如果连接丢失,跟踪就会停止。为避免丢失连接,可以运行服务器端跟踪。
解决方法
使用 T-SQL 语句读取服务器端跟踪
-
通过运行类似于以下 T-SQL 语句的命令来确定服务器中当前正在运行的跟踪:
select * from sys.traces;
sys.traces 目录视图包含系统上当前运行的跟踪。记下输出中跟踪值的路径。步骤 2 和 3 需要此路径。
-
通过运行类似于以下 fn_trace_gettable 函数的命令来读取跟踪文件:
select * from ::fn_trace_gettable('enter_trace_output_value', default);
**注意:**将 enter_trace_output_value 替换为步骤 1 输出的跟踪值。
-
或者,可以将服务器端跟踪结果保存到数据库表中。然后,可以通过运行类似于以下 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