删除 SQL Profiler 跟踪文件 (.trc)

删除 SQL Profiler 跟踪文件 (.trc)

.trc我们注意到服务器上的SQL 数据文件夹 ( ) 中有很多文件\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data。这些文件的日期范围跨越一天,所有文件的总文件大小约为 21 GB。我想释放这些空间,但不确定是否可以通过 Windows 资源管理器手动删除这些文件,或者是否需要在 SQL 中执行任何操作,例如运行命令或脚本。有什么想法吗?

答案1

.trc 文件可以安全删除。

SQL Server 在不使用 Profiler 客户端工具的情况下将事件保存到物理文件的过程中生成的 .trc 文件。服务器端跟踪是通过使用 SQL Server 系统提供的存储过程和函数来启用和控制的。使用这些系统提供的进程,您可以确定要跟踪的内容、何时启动和停止跟踪、正在运行哪些跟踪,以及查看存储在跟踪文件中的跟踪信息。

查看当前正在运行的跟踪数量:

SELECT count(*) FROM :: fn_trace_getinfo(default) WHERE property = 5 and value = 1

有关运行痕迹的更多详细信息:

SELECT * FROM :: fn_trace_getinfo(default)

您可以使用 traceid 通过“sp_trace_setstatus”存储过程终止跟踪:

EXEC sp_trace_setstatus 1, @status = 0
EXEC sp_trace_setstatus 1, @status = 2

将状态设置为 0 将停止跟踪 将状态设置为 2 将关闭跟踪并从服务器中删除其定义

祝你好运!

答案2

如果跟踪文件不再使用,那么删除它们应该没问题。我想有人正在对应用程序进行故障排除,但完成后忘记删除跟踪文件。

仅当跟踪仍在运行时,跟踪文件才会被使用。如果文件已存在超过一天,则可以肯定跟踪不再运行。如果跟踪正在运行,则文件将被锁定,您将无法删除它。

答案3

跟踪是否仍在继续?文件名是什么样的?确保它不是审计跟踪之类的东西。文件名通常是 audittrace[datetime].trc

它也可能是默认跟踪(2005+),尽管它的大小如此之大并不常见,并且这些通常位于 \MSSQL.1\MSSQL\LOG 中

为了确保万无一失,请查看系统跟踪确保跟踪没有仍在运行,或已停止但仍在定义,或者它实际上是默认跟踪。如果默认跟踪已打开,则应该只在其中看到它,其 ID 为 1。

无论如何,只要你不需要这些痕迹,删除它们是安全的。你只是要确保它们不会再回来!

相关内容