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

  • 时间:
  • 出处:跟我学网络
  • 作者:
  • 浏览:738

标签:

跟踪标记: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,NDESC

 

小结:

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

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

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