2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果

跟踪标记:3604

功能:

  • 输出DBCC命令返回结果到查询窗口(通常是SSMS窗口),类似print命令的显示效果;

用途:

  • 常用于获取DBCC IND, DBCC PAGE命令的输出结果,因为这2个命令默认不输出任何结果。

举例:

USE master
GO
--开启跟踪标记 3604
DBCC TRACEON(3604)

--查看页:(1,1,10) dbid 1(master), file id 1, page 10
DBCC PAGE(1,1,10)

--关闭跟踪标记 3604
DBCC TRACEOFF(3604)

--无法查看页:(1,1,10) dbid 1(master), file id 1, page 10
DBCC PAGE(1,1,10)

 

跟踪标记:3605

功能:

  • 输出DBCC命令返回结果到SQL Server错误日志(errorlog)里;

用途:

  • 常用于获取死锁的明细,因为在抓取死锁信息时,往往会开启1204, 1222全局跟踪标记:DBCC TRACEON(1222,-1);
  • 事实上DBCC TRACEON(1222,-1) = DBCC TRACEON(3605,1222,-1),也就是死锁的跟踪标记是会默认输出到错误日志的;

举例:

USE master
GO
--开启跟踪标记 3605
DBCC TRACEON(3605)

--查看页:(1,1,10) dbid 1(master), file id 1, page 10
DBCC PAGE(1,1,10)

--结果被保存在错误日志里,不在查询窗口显示
exec xp_readerrorlog 0,1,N‘‘,N‘‘,NULL,NULL,N‘DESC‘

小结:

(1) 跟踪标记 3604 和 3605,可用来控制DBCC命令返回结果的打印方式;

(2) 通常仅是查看DBCC命令结果,不需要开启全局跟踪标记-1;

(3) 这两个跟踪标记无官方文档记载。

时间: 2024-10-19 09:12:17

2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果的相关文章

DBA应该知道的一些SQL Server跟踪标记

跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为. 下面是官方对于Trace Flag的标记: 跟踪标记是一个标记,用于启用或禁用SQL Server的某些行为. 由上面的定义不难看出,Trace Flag是一种用来控制SQL Server的行为的方式.很多DBA对Trace Flag都存在一些误

Trace Flag

Trace Flag能够影响Sql Server的行为,主要用于diagnose performance issue,官方解释是: Trace flags are used to temporarily set specific server characteristics or to switch off a particular behavior. For example, if trace flag 3205 is set when an instance of SQL Server st

SQL Server中关于跟踪(Trace)那点事

前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简单的举几个应用场景: 在线生产库为何突然宕机?数百张数据表为何不翼而飞?刚打好补丁的系统为何屡遭黑手?新添加的信息表为何频频丢失?某张表字段的突然更改,究竟为何人所为?这些个匿名的访问背后,究竟是人是鬼?突然增加的增量数据,究竟是对是错?数百兆的日志爆炸式的增长背后又隐藏着什么?这一且的背后,是应用

Linux内核跟踪之trace框架分析【转】

转自:http://blog.chinaunix.net/uid-20543183-id-1930846.html ------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ ------------------------------------------ 一: 前言 本文主要是对trace的框架做详尽的分析, 在后续的分析中,再来分析接入到框架中的几个重要的trace

SQL Server中关于跟踪(Trace)那点事(转载)

前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简单的举几个应用场景: 在线生产库为何突然宕机?数百张数据表为何不翼而飞?刚打好补丁的系统为何屡遭黑手?新添加的信息表为何频频丢失?某张表字段的突然更改,究竟为何人所为?这些个匿名的访问背后,究竟是人是鬼?突然增加的增量数据,究竟是对是错?数百兆的日志爆炸式的增长背后又隐藏着什么?这一且的背后,是应用

使用跟踪标记查看过滤统计信息是否被使用

原文:使用跟踪标记查看过滤统计信息是否被使用     在某些情况下,表中数据较多,且分布不均匀的时候,执行计划的估计行数往往会有很大偏差,因此SQL Server 2008引入了过滤统计信息,意味着只对表中的特定数据计算统计信息.那么在调优查询的过程中如何知道语句是否使用了过滤统计信息呢?SQL Server提供了一个隐藏的跟踪标记来支持这一过程.下面Demo可以展示如何使用该跟踪标记.       我们首先对AdventureWorks的SalesOrderDetail做一个简单的查询,代码如

Enable a SQL Server Trace Flag Globally on Linux

https://www.mssqltips.com/sql-server-tip-category/226/sql-server-on-linux// Microsoft has recently released SQL Server to run on Linux servers. Sometimes we need to enable a trace flag globally on SQL Server and in this tip I will demonstrate how to

输出 time 命令的结果到文件中

译至:http://unicus.jp/skmk/archives/338 由于输出 time 命令的结果到文件时使用的错误的方式,所以将其记录下来. 环境是bash. 目标 将运行的a.out程序的输出和其所花的时间重定向到日志文件中 无效的例子1 time ./a.out > logfile time ./a.out | tee logfile 上面的例子是重定向结果到logfile,下面的例子是通过tee把标准输出输出到文件.但是只有time的输出没有被记录到文件中.    这是因为tim

Oracle的跟踪文件(trace file)

跟踪文件通常都是因为通过DBMS_MONITOR(在Oracle Database 9i Relese 2)及更早版本中则是ALTER SESSION SET SQL_TRACE=TRUE启用了跟踪的结果,或者是通过10046事件使用扩展的跟踪工具生成的,如下 这些跟踪文件包含与诊断和性能有关的信息.它们对于了解数据库应用的内部工作有着非凡的意义.在一个正常运行的数据库中,你会经常看到这些跟踪文件,而且远比看到其他类型的跟踪文件多得多. 1 文件位置 不论是使用DBMS_MONITOR.SQL_