博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪?
阅读量:6432 次
发布时间:2019-06-23

本文共 1275 字,大约阅读时间需要 4 分钟。

这个跟踪是通过将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,如需转载请自行联系原作者

你可能感兴趣的文章
VC UTF8转ANSI
查看>>
创建类似软键盘的无焦点对话框程序
查看>>
软件测试基础知识——适合初学者
查看>>
VMware网络问题
查看>>
实现简单的图片轮播功能
查看>>
数据结构练手06 二叉搜索树
查看>>
redis实现spring-data-redis整合
查看>>
计算机网络和因特网
查看>>
<asp:RadioButton> 选项判断
查看>>
Day4 自定义控件/ListView/RecyclerView
查看>>
c++ 好玩的类
查看>>
mysql解决datetime与timestamp精确到毫秒的问题
查看>>
深入理解JavaScript Hijacking原理
查看>>
基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置
查看>>
浏览器缓存知识小结及应用(转)
查看>>
闭包函数详解
查看>>
Codeforces Round #395 (Div. 2) - C
查看>>
视图创建
查看>>
拥抱博客园
查看>>
perl I/O和缓存的关系
查看>>