这个跟踪是通过将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
原文地址:http://ultrasql.blog.51cto.com/9591438/1582876