SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪?

SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪?

这个跟踪是通过将sp_trace_create的@options参数值设置为8来配置的。@options指定为跟踪设置的选项,当设置值为8,即TRACE_PRODUCE_BLACKBOX,指定服务器产生的最后5MB跟踪信息记录将由服务器保存。TRACE_PRODUCE_BLACKBOX与所有其他选项不兼容。@tracefile指定跟踪将写入的位置和文件名,在使用TRACE_PRODUCE_BLACKBOX选项时无法指定trace_file。

 

TRACE_PRODUCE_BLACKBOX具有以下特性:

  • 它属于滚动更新跟踪。 file_count 的默认值为 2,但用户可以使用 filecount 选项覆盖此值。

  • file_size 与其他跟踪一样默认为 5 MB 并且可以更改。

  • 不能指定文件名。 文件将保存为:N‘%SQLDIR%\MSSQL\DATA\blackbox.trc‘

  • 跟踪中仅包含以下事件和它们的列:

    • RPC starting

    • Batch starting

    • Exception

    • Attention

  • 无法在此跟踪中添加或删除事件或列。

  • 不能为此跟踪指定筛选器。


以下Transact-SQL可以用来启动一个黑盒跟踪:

DECLARE @TraceId INT
EXEC sp_trace_create
@TraceId OUTPUT,
@options = 8
EXEC sp_trace_setstatus @TraceId, 1

 

可以通过fn_trace_getinfo函数返回跟踪信息。

SELECT * FROM ::fn_trace_getinfo(@TraceID)

 

这个跟踪被自动配置去使用两个滚动文件,当达到默认最大文件容量5MB时就要在两个文件之间来回翻转。然而,一些客户表示,5MB备份数据不足以以调试崩溃故障。如果要扩展容量,除了为@tracefile参数接受一个值(甚至是NULL)之外,还要为@maxfilesize参数指定一个值。以下Transact-SQL代码创建了一个最大容量为25MB的黑盒跟踪:

DECLARE @TraceId int
DECLARE @maxfilesize bigint
SET @maxfilesize = 25
EXEC sp_trace_create
@TraceId OUTPUT,
@options = 8,
@tracefile = NULL,
@maxfilesize = @maxfilesize
 
EXEC sp_trace_setstatus @TraceId, 1

 

默认情况下,黑盒跟踪文件的路径是在默认的SQL Server数据文件夹中。但是,正如文件大小可变一样,如果必要,路径也可以用@tracefile参数进行修改。

本文出自 “滴水石穿” 博客,请务必保留此出处http://ultrasql.blog.51cto.com/9591438/1582876

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。