sql-server – 在SQL Server中查找新Trace标记的方法

前端之家收集整理的这篇文章主要介绍了sql-server – 在SQL Server中查找新Trace标记的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
那里有很多Trace Flags.有些是有充分记录的,有些则没有,有些则在2016版本中找到了默认行为状态.除官方支持渠道,微软员工等外,还有哪些方法可以找到新的跟踪标志?

我已经阅读了Aaron Bertrand herehere最近的一些帖子,但没有发现任何有关新Trace Flags的信息.当在一篇博客文章评论中被问到时,保罗怀特用一个SMILEY FACE以密码方式回答“我去寻找他们”.

我将mssqlsystemresource的数据和日志文件复制到一个新位置,并像普通数据库一样将其附加到系统表和视图中,但没有立即发现任何内容.我考虑了一个已知的跟踪标志列表,并循环不在该列表上的数字,看看DBCC TRACEON允许哪些,但是想先在这里提出问题.

假设启用它们的DBCC命令必须使用某些资源签入以确保跟踪标志有效,它在哪里可以找到?是否有.dll或其他系统文件包含列表?

我知道这个问题引起了广泛的关注,但刺激这一点的是阅读有关具有特定预期行为的跟踪标记以及2016年未具有描述效果的新功能.我最初的想法是,数字可能会以某种方式转换,例如7129变为7219.我希望获得一个范围内的有效跟踪标记列表,例如7000-7999,以查找排列.对它们进行全部测试,无论是作为DBCC TRACEON标志还是启动参数都会非常麻烦,并且会根据功能行为测试结果.

解决方法

除了询问或从帖子/幻灯片/等中挑选它们之外,您无法找到列表.该列表仅存在于代码中,在头文件中,其中有效的跟踪标志号映射到C代码中的大枚举中的名称,然后在其余代码中使用这些名称.

正如Aaron所说,你可以启用任何跟踪标志号,如果它没有做任何事情,或者你没有运用跟踪标志相关的功能,你将不会注意到任何行为上的差异.

DBCC TRACEON不检查任何内容 – 因为没有运行时列表,哪些数字有效或无效 – 它只是在位图中启用跟踪标志号,为该连接/全局设置哪些标志.

进行有效性检查的问题是会暴露哪些跟踪标志有效,从而允许它们被发现.这样,“有效列表”就会被有效地混淆,这是sql团队想要的.

关于Kin的评论建议,sql Server应该从sys.available_trace_flags中选择* – 是和否.有许多跟踪标志对性能非常不利,只有在产品支持指导下调试问题时才需要,但sql Server可以列出“安全”标志.

猜你在找的MsSQL相关文章