跟踪标志用于设置特定服务器特征或更改特定行为。 

例如,跟踪标志 3226 是一种常用的启动跟踪标志,可取消显示错误日志中的成功备份消息。 

跟踪标志经常用于诊断性能问题或调试存储过程或复杂的计算机系统,但 Microsoft 支持部门还可能建议将它们用于解决会对特定工作负载产生负面影响的行为。 

当按照指示使用时,所有记录的跟踪标志和 Microsoft 支持部门推荐的跟踪标志在生产环境中都完全受支持。 

请注意,此列表中的跟踪标志在其特定用途方面可能会有一些其他注意事项,因此建议仔细查看此处和/或支持工程师提供的所有建议。 

此外,与 SQL Server 中的任何配置更改一样,最好在部署标志之前在非生产环境中全面测试该标志。

 

Remarks

SQL Server 中,有三种跟踪标志:查询、会话和全局。 

查询跟踪标志在特定查询的上下文中处于活动状态。

会话跟踪标志对某个连接有效,且只对该连接可见。 

全局跟踪标志在服务器级别上进行设置,对服务器上的每一个连接都可见。 

某些标志只能作为全局标志启用,而某些标志在全局或会话作用域都可以启用。

 

下列规则适用:

  • 若要让跟踪标志生效,请重启 SQL Server。
  • 在会话级别启用的跟踪标志永远不会影响另一个会话,并且当打开会话的 SPID 注销时,该跟踪标志将失效。

 

使用以下方法之一可将跟踪标志设置为开或关:

使用 DBCC TRACEON 和 DBCC TRACEOFF 命令。

DBCC TRACEON (2528, -1)

重新启动服务器时,使用 DBCC TRACEON 启用全局跟踪标志的方法将失效。 

若要关闭全局跟踪标志,请在使用 DBCC TRACEOFF 时使用 -1 参数。

使用 -T 启动选项可以指定跟踪标志在启动期间设置为开。

使用启动选项无法启动会话级别的跟踪标志。 

数据库引擎服务启动选项。

QUERYTRACEON 选项只能用于上表中所述的查询优化器跟踪标志。

DBCC TRACESTATUS 命令确定哪些跟踪标志当前是活动的。

实例:

 

 

跟踪标志

下表列出了 SQL Server 中可用的跟踪标志,并进行了说明。

备注:

托管实例尚不支持会话跟踪标志。

有关适用版本的详细信息,请参阅与特定跟踪标志关联的 Microsoft 支持文章。

SQL Server 的未来版本可能不支持跟踪标志行为。

 

示例:

例如下面这个是开启

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

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

开启以后,会打印死锁日志到errorlog

DBCC TRACEON(1204,1222,-1)
DBCC TRACESTATUS(1204,1222,-1)

DBCC TRACEON - 跟踪标志 (Transact-SQL)

跟踪 标志 描述
139 作用域:仅全局
174 作用域:仅全局
176 作用域:全局或会话
205 作用域:仅全局
260 作用域: 全局或会话
272 作用域:仅全局
460 作用域:全局或会话
610 作用域:全局或会话
634 作用域: 仅全局
652 作用域:全局或会话
661 作用域:仅全局
692 作用域:全局或会话
715 作用域: 全局或会话
834 作用域:仅全局
845 作用域:仅全局
902 作用域:仅全局
1117 作用域: 仅全局
1118 作用域: 仅全局
1204 作用域: 仅全局
1211 作用域:全局或会话
1222 作用域:仅全局
1224 数据库引擎会将行锁或页锁升级为表(或分区)锁:
  • 只有在 sp_configure 的 locks 参数设置为 0 时,这才适用。
  • 服务器配置选项 (SQL Server)版本的组合自动配置的最大工作线程数。
作用域: 全局或会话
1229 作用域:仅全局
1236 作用域:仅全局
1237 作用域:全局、会话或查询
1260 作用域:仅全局
1448 作用域:仅全局
1462 作用域:仅全局
1800 作用域: 仅全局
2301 作用域:全局、会话和查询
2312 作用域:全局、会话或查询
2335 作用域:全局、会话或查询
2340 作用域:全局、会话或查询
2371 作用域:仅全局
2389 作用域:全局、会话或查询
2390 作用域:全局、会话或查询
2422 作用域:全局
2430 作用域:仅全局
2451 作用域:仅全局
2453 作用域:全局、会话或查询
2467 作用域:仅全局
2469 作用域:全局、会话或查询
2528 作用域:全局或会话
2549 作用域:仅全局
2562 作用域:仅全局
2566 作用域:仅全局
2592 作用域:全局和会话
3023 作用域:全局和会话
3042 作用域:仅全局
3051 作用域:仅全局
3205 作用域:全局或会话
3226 作用域:仅全局
3427 作用域:仅全局
3459 作用域:仅全局
3468 作用域:仅全局
3608 作用域:仅全局
3625 作用域:仅全局
3656 作用域:全局和会话
4136 作用域:全局或会话
4137 作用域:全局、会话或查询
4138 作用域:全局、会话或查询
4139 作用域:全局、会话或查询
4199 Microsoft 支持文章。

数据库兼容性级别 TF 4199 来自以前的数据库兼容性级别的 QO 更改 当前版本后期 RTM 的 QO 更改
100 至 120 Off 禁用 禁用
On 已启用 已启用
130 Off 已启用 禁用
On 已启用 已启用
140 Off 已启用 禁用
On 已启用 已启用
150 Off 已启用 禁用
On 已启用 已启用
作用域:全局、会话或查询
4610 作用域: 仅全局
4616 作用域:仅全局
4618 作用域: 仅全局
4621 作用域: 仅全局
5004 作用域: 仅全局
6498 作用域:仅全局
6527 该跟踪标志的行为如下所示:
  • 但是,如果使用了其他跟踪标志,则可能会生成内存转储。
  • 但是,如果已经由于 CLR 中的内存不足异常生成了内存转储,则此跟踪标志将没有任何效果。
作用域:仅全局
6532 作用域:全局和会话
6533 作用域:全局和会话
6534 作用域:仅全局
7314 作用域:全局和会话
7412 作用域:仅全局
7471 作用域:仅全局
7745 作用域:仅全局
7752 作用域:仅全局
7806 作用域:仅全局
8011 作用域:全局和会话
8012 作用域:仅全局
8015 作用域:仅全局
8018 作用域:仅全局
8019 作用域:仅全局
8020 作用域:仅全局
8032 作用域:仅全局
8048 作用域:仅全局
8075 作用域:仅全局
8079 作用域:仅全局
8207 作用域:仅全局
8721 作用域:仅全局
8744 作用域:全局和会话
9024 作用域:仅全局
9347 作用域:全局、会话或查询
9349 作用域:全局、会话或查询
9389 作用域:全局或会话
9398 作用域:全局、会话和查询
9453 作用域: 全局、会话和查询
9471 作用域:全局、会话或查询
9476 作用域:全局、会话或查询
9481 作用域:全局、会话或查询
9485 作用域:仅全局
9488 作用域:全局、会话或查询
9495 作用域:全局或会话
9567 作用域:全局或会话
9571 作用域:全局或会话
9591 作用域:全局或会话
9592 作用域:全局或会话
9929 作用域:仅全局
9939 作用域:全局、会话或查询
10204 作用域:全局或会话
10316 作用域:全局或会话
11023 作用域:全局或会话
11024 作用域:全局或会话

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
  • 2022-01-06
  • 2021-07-01
  • 2022-12-23
  • 2021-07-06
  • 2021-05-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-15
  • 2021-11-23
  • 2021-08-18
  • 2021-07-07
  • 2022-12-23
相关资源
相似解决方案