爱她吗 发表于 2018-10-16 10:08:47

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参数进行修改。


页: [1]
查看完整版本: SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪?