选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

在 SQL Server 数据库实例上运行服务器端跟踪

聚焦模式
在 SQL Server 数据库实例上运行服务器端跟踪 - Amazon Relational Database Service

通过编写脚本创建服务器端跟踪这一过程可能较为复杂,且已超出本文档的讨论范围。本部分包含一些您可以用作示例的示例脚本。与客户端跟踪一样,服务器端跟踪的目的是,创建可通过 Database Engine Tuning Advisor 打开的工作负载文件或跟踪表。

下面显示的是一个简化的示例脚本,用于启动服务器端跟踪并将详细信息捕获到工作负载文件。跟踪最初会将信息保存到 D:\RDSDBDATA\Log 目录中的 RDSTrace.trc 文件,且会每 100 MB 转换一个跟踪文件,这样,后续的跟踪文件命会依次命名为 RDSTrace_1.trc、RDSTrace_2.trc 等。

DECLARE @file_name NVARCHAR(245) = 'D:\RDSDBDATA\Log\RDSTrace'; DECLARE @max_file_size BIGINT = 100; DECLARE @on BIT = 1 DECLARE @rc INT DECLARE @traceid INT EXEC @rc = sp_trace_create @traceid OUTPUT, 2, @file_name, @max_file_size IF (@rc = 0) BEGIN EXEC sp_trace_setevent @traceid, 10, 1, @on EXEC sp_trace_setevent @traceid, 10, 2, @on EXEC sp_trace_setevent @traceid, 10, 3, @on . . . EXEC sp_trace_setfilter @traceid, 10, 0, 7, N'SQL Profiler' EXEC sp_trace_setstatus @traceid, 1 END

以下示例是停止跟踪的脚本。请注意,以前的脚本所创建的跟踪会继续运行,直到您显式地停止跟踪或磁盘空间不足以运行此进程为止。

DECLARE @traceid INT SELECT @traceid = traceid FROM ::fn_trace_getinfo(default) WHERE property = 5 AND value = 1 AND traceid <> 1 IF @traceid IS NOT NULL BEGIN EXEC sp_trace_setstatus @traceid, 0 EXEC sp_trace_setstatus @traceid, 2 END

您可以将服务器端跟踪结果保存到数据库表,然后借助 fn_trace_gettable 函数,将数据库表用作 Tuning Advisor 的工作负载。以下命令会将 D:\rdsdbdata\Log 目录(包括 RDSTrace_1.trc 等所有滚动更新文件)中名为 RDSTrace.trc 的所有文件的结果加载到当前数据库中名为 RDSTrace 的表中。

SELECT * INTO RDSTrace FROM fn_trace_gettable('D:\rdsdbdata\Log\RDSTrace.trc', default);

要将特定滚动更新文件保存到表中,例如 RDSTrace_1.trc 文件,请为 fn_trace_gettable 指定滚动更新文件的名称和替换值 1,以代替默认值这一最后的参数。

SELECT * INTO RDSTrace_1 FROM fn_trace_gettable('D:\rdsdbdata\Log\RDSTrace_1.trc', 1);
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。