DBCC--常用跟踪标记

使用DBCC TRACEON 和DBCC TRACEOFF来打开和关闭跟踪标记

使用DBCC TRACESTATUS来查看所有打开的跟踪标记

 

--260:打印关于扩展存储过程动态链接库的版本信息

 

--444:停止auto-parameterization

 

--1200:输出锁信息

 

--1204:传回参与死锁的SQL SERVER相关程序之运行数据

 

--1211:停止lock escalation(锁升级)

 

--1252:显示动态选择锁的相关信息

 

--2528:通过 DBCC CHECKDB、DBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 禁用对象的并行检查。

--默认情况下,并行度由查询处理器自动确定。最大并行度的配置方式与并行查询相同。 

--有关更多信息,请参见 max degree of parallelism 选项。    

-- 通常情况下,应将并行 DBCC 保留为启用状态。执行 DBCC CHECKDB 时, 

-- 查询处理器重新评估和自动调整并行度,并检查每个表或一批表。 

--有时,检查可能在服务器处于实际空闲状态时进行。如果管理员知道在检查结束前负荷将加大, 

--可能希望手工减小或禁用并行度。 

-- 但是,禁用并行检查会导致数据库的总体性能降低。降低并行度将增加必须扫描的事务日志量。

--这反过来增加了对 tempdb 空间的需求,并导致 dbcc 完成检查所需的时间非线性增加。

--如果运行 DBCC 时启用了 TABLOCK 功能并关闭了并行度,则表可能被锁定更长时间。 

 

--3205:默认情况下,如果磁带驱动器支持硬件压缩,则 DUMP 或 BACKUP 语句会使用该功能。 

-- 利用此跟踪标记,可以禁用磁带驱动程序的硬件压缩。 

-- 本项在要与不支持压缩的其它站点或磁带驱动器交换磁带时有用。

 

--3604:将trace结果输出到前端

 

--3605:要求DBCC的输出放到SQL server ERROR LOG

 

--8602:停止索引提示功能

 

--8722:停止join group等最优化提示功能

 

--8755:停止锁提示功能

 

--8780:停止最优化超时配置,强制做完整的最优化动作

 

835 允许SQL Server 2005和2008标准版使用"锁定内存页",和在组策略中设置的结果大同小异,但是允许在标准版中使用.

 

2588 对一些MS非公开的DBCC命令,需要打开标记才能显示DBCC结果

 

3604 将DBCC输出结果显示在当前客户端,关闭后,输出结果写入到错误日志

 

1118 对表或索引分配空间时,直接分配专用区,而不是混合区。


260 打印有关扩展存储过程动态链接库 (DLL) 的版本控制信息,作用域:全局或会话

 

1204 返回参与死锁的锁的资源和类型,以及受影响的当前命令。作用域:仅全局

 

1222 以不符合任何XSD 架构的XML 格式,返回参与死锁的锁的资源和类型,以及受影响的当前命令。

 

1121 基于内存不足或基于锁数禁用锁升级。 SQL Server 数据库引擎不会将行锁或页锁升级到表锁,作用域:仅全局,如果同时设置了跟踪标志1211 和1224,则1211 优先于1224。

 

1224 基于锁数禁用锁升级。 但是,内存不足仍可激活锁升级。作用域:全局或会话

 

1448 甚至在异步辅助数据库不确认接受更改的情况下,也使复制日志读取器前移。 甚至在此跟踪标志启用的情况下,日志读取器也始终等待同步辅助数据库。 日志读取器将不会超过同步辅助数据库的最小确认。 此跟踪标志应用于SQL Server 的实例,而不仅是可用性组、可用性数据库或日志读取器实例。 应用会立即生效,无需重新启动。 此跟踪标志可提前激活或在同步辅助数据库失败时激活。

 

2528 禁用DBCC CHECKDB、DBCC CHECKFILEGROUP 和DBCC CHECKTABLE 执行的对象并行检查。 默认情况下,并行度由查询处理器自动确定。 最大并行度的配置就像并行查询的最大并行度一样。

 

3042 绕过默认的备份压缩预先分配算法,以便允许备份文件仅根据需要增长以达到其最终大小。 如果您需要仅分配压缩的备份所需的实际大小以便节约空间,则此跟踪标志将很有用。 使用此跟踪标志可能会导致轻微的性能损失(在备份操作期间损失可能会增加)。

 

3226 默认情况下,每个成功的备份操作都会在SQL Server 错误日志和系统事件日志中添加一个条目。 如果非常频繁地创建日志备份,这些成功消息会迅速累积,从而产生一个巨大的错误日志,使查找其他消息变得非常困难。 使用这一跟踪标志,可以取消这些日志条目。 如果您频繁地运行日志备份,并且没有任何脚本依赖于这些条目,则这种做法非常有用

 

3608 禁止SQL Server 自动启动和恢复除master 数据库之外的任何数据库。在访问数据库时将启动并恢复该数据库。 可能无法运行某些功能,如快照隔离和读提交快照。

 

3625 通过使用“******”屏蔽某些错误消息的参数,限制返回给不是sysadmin 固定服务器角色成员的用户的信息量。

 

4199 控制是否以前根据多个跟踪标志进行了多个查询优化器更改。

 

4616 使应用程序角色可以看到服务器级元数据。 在SQL Server 中,应用程序角色无法访问自身数据库以外的元数据,因为应用程序角色与服务器级别主体不相关联。作用域:仅全局

 

6527 禁止在CLR 集成中第一次发生内存不足异常时生成内存转储。

 

7806 在SQL Server Express 上启用专用管理员连接 (DAC)。 默认情况下,在SQL Server Express 上不保留DAC 资源。

 

8207 允许事务复制的单独更新。 对订阅服务器的更新可以作为DELETE 和INSERT 对复制。 这可能不满足业务规则的要求,如激发UPDATE 触发器。 使用跟踪标志8207 时,对只影响一行的唯一列的更新(单独更新)将作为UPDATE 而非作为DELETE 或INSERT 对复制。 如果该更新影响具有唯一约束的列或影响多个行,则仍将该更新作为DELETE 或INSERT 对复制。

 

9485 对DBCC SHOW_STATISTICS
禁用SELECT 权限。

 

 

 不推荐在生产环境使用的标记

3505 不允许自动进行checkpoint,checkpoint只能手动进行,是非常危险的一个命令。

3502 在日志中显示有关checkpoint的相关信息

1806 禁用即时文件初始化,所有的磁盘空间请求全部使用填0初始化,可能造成在空间增长时产生阻塞。

818 检查写一致性,跟踪标志 818 启用了一个内存中的环形缓冲区,用于跟踪由运行 SQL Server 的计算机执行的最后 2,048 个成功写操作(不包括排序和工作文件 I/O)。发生 605、823 或 3448 之类的错误时,将传入缓冲区的日志序列号 (LSN) 值与最新写入列表进行比较。如果在读操作期间检索到的 LSN 比在写操作期间指定的更旧,就会在 SQL Server 错误日志中记录一条新的错误信息。大部分 SQL Server 写操作以检查点或惰性写入形式出现。惰性写入是一项使用异步 I/O 操作的后台任务。环形缓冲区的实现是轻量的,因此对系统性能的影响可以忽略。

806 在读取过程中对页检查逻辑一致性,并将信息写入到错误日志

1200 出锁信息

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。