这个跟踪是通过将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可以用来启动一个黑盒跟踪:
1
2
3
4
5
|
DECLARE
@TraceId
INT
EXEC
sp_trace_create
@TraceId
OUTPUT
,
@options = 8
EXEC
sp_trace_setstatus @TraceId, 1
|
可以通过fn_trace_getinfo函数返回跟踪信息。
1
|
SELECT
*
FROM
::fn_trace_getinfo(@TraceID)
|
这个跟踪被自动配置去使用两个滚动文件,当达到默认最大文件容量5MB时就要在两个文件之间来回翻转。然而,一些客户表示,5MB备份数据不足以以调试崩溃故障。如果要扩展容量,除了为@tracefile参数接受一个值(甚至是NULL)之外,还要为@maxfilesize参数指定一个值。以下Transact-SQL代码创建了一个最大容量为25MB的黑盒跟踪:
1
2
3
4
5
6
7
8
9
10
|
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参数进行修改。
本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1582876,如需转载请自行联系原作者