DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]
禁用指定的跟踪标记。
DBCC TRACEOFF ( trace# [ ,...n ] [ , -1 ] ) [ WITH NO_INFOMSGS ]
显示跟踪标志的状态。
DBCC TRACESTATUS ( [ [ trace# [ ,...n ] ] [ , ] [ -1 ] ] ) [ WITH NO_INFOMSGS ]
跟踪标志用于临时设置特定服务器的特征或关闭特定行为。例如,如果启动 SQL Server 的一个实例时设置了跟踪标志 3205,将禁用磁带机的硬件压缩。跟踪标志经常用于诊断性能问题,或调试存储过程或复杂的计算机系统。
下表列出了 SQL Server 中可用的跟踪标志,并进行了说明。
SQL Server 的未来版本可能不支持跟踪标志行为。 |
跟踪标志 |
说明 |
---|---|
260 |
打印有关扩展存储过程动态链接库 (DLL) 的版本控制信息。有关 __GetXpVersion() 的详细信息,请参阅 创建扩展存储过程 。 作用域: 全局或会话 |
1204 |
返回参与死锁的锁的资源和类型,以及受影响的当前命令。 作用域: 仅全局 |
1211 |
基于内存不足或基于锁数禁用锁升级。SQL Server 数据库引擎不会将行锁或页锁升级到表锁。 使用此跟踪标志可生成过多的锁数目。这样会降低数据库引擎的性能,或因为内存不足而导致 1204 错误(无法分配锁资源)。有关详细信息,请参阅 锁升级(数据库引擎) 。 如果同时设置了跟踪标志 1211 和 1224,则 1211 优先于 1224。但是,由于在所有情况下(甚至在内存紧张的情况下)跟踪标志 1211 都禁止升级,因此建议使用 1224。这有助于在使用多个锁时避免“锁不足”错误。 作用域 :全局或会话 |
1222 |
以不符合任何 XSD 架构的 XML 格式,返回参与死锁的锁的资源和类型,以及受影响的当前命令。 作用域 :仅全局 |
1224 |
基于锁数禁用锁升级。但是,内存不足仍可激活锁升级。如果锁对象使用的内存量超出下列条件之一,数据库引擎会将行锁或页锁升级为表(或分区)锁:
如果同时设置了跟踪标志 1211 和 1224,则 1211 优先于 1224。但是,由于在所有情况下(甚至在内存紧张的情况下)跟踪标志 1211 都禁止升级,因此建议使用 1224。这有助于在使用多个锁时避免“锁不足”错误。
注意
也可以使用
ALTER TABLE
语句的 LOCK_ESCALATION 选项控制到表级或 HoBT 级粒度的锁升级。
作用域: 全局或会话 |
2528 |
禁用 DBCC CHECKDB、DBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 执行的对象并行检查。默认情况下,并行度由查询处理器自动确定。最大并行度的配置就像并行查询的最大并行度一样。有关详细信息,请参阅 max degree of parallelism 选项 。 通常应使并行 DBCC 保持启用状态。对于 DBCC CHECKDB,查询处理器重新求值,并对检查的每个表或每批表自动调整并行度。有时,检查可能在服务器几乎处于空闲状态时启动。如果管理员知道在检查完成前负载将增加,则可能需要手动减小并行度或禁用并行度。 禁用对 DBCC 的并行检查可能导致 DBCC 的完成时间变长,如果运行 DBCC 时启用了 TABLOCK 功能并关闭了并行度,则表可能被锁定更长时间。 作用域 :全局或会话 |
3205 |
默认情况下,如果磁带机支持硬件压缩,则 DUMP 或 BACKUP 语句会使用该功能。利用此跟踪标志,可以禁用磁带机的硬件压缩。此选项在您需要与不支持压缩的其他站点或磁带机交换磁带时很有用。 作用域 :全局或会话 |
3226 |
默认情况下,每个成功的备份操作都会在 SQL Server 错误日志和系统事件日志中添加一个条目。如果非常频繁地创建日志备份,这些成功消息会迅速累积,从而产生一个巨大的错误日志,使查找其他消息变得非常困难。 使用这一跟踪标志,可以取消这些日志条目。如果您频繁地运行日志备份,并且没有任何脚本依赖于这些条目,则这种做法非常有用。 |
3608 |
禁止 SQL Server 自动启动和恢复除 master 数据库之外的任何数据库。在访问数据库时将启动并恢复该数据库。可能无法运行某些功能,如快照隔离和读提交快照。用于 移动系统数据库 和 移动用户数据库 。请不要在正常操作中使用。 |
3625 |
限制错误消息中返回的信息量。有关详细信息,请参阅 元数据可见性配置 。 作用域: 仅全局 |
4199 |
控制以前基于多个跟踪标志进行的多个查询优化器更改。有关详细信息,请参阅此 Microsoft 支持文章 。 作用域 :全局或会话 |
4616 |
使应用程序角色可以看到服务器级元数据。在 SQL Server 中,应用程序角色无法访问自身数据库以外的元数据,因为应用程序角色与服务器级主体不相关联。这是对早期版本的 SQL Server 的行为的更改。设置此全局标志将禁用新的限制,并允许应用程序角色访问服务器级元数据。 作用域 :仅全局 |
6527 |
禁止在 CLR 集成中第一次发生内存不足异常时生成内存转储。默认情况下,SQL Server 在 CLR 中第一次发生内存不足异常时会生成小内存转储。该跟踪标志的行为如下所示:
作用域: 仅全局 |
7806 |
在 SQL Server Express 上启用专用管理员连接 (DAC)。默认情况下,在 SQL Server Express 上不保留 DAC 资源。有关详细信息,请参阅 使用专用管理员连接 。 作用域: 仅全局 |