sql-server – 在SQL Server中查找新Trace标记的方法
那里有很多Trace Flags.有些是有充分记录的,有些则没有,有些则在2016版本中找到了默认行为状态.除官方支持渠道,微软员工等外,还有哪些方法可以找到新的跟踪标志?
我已经阅读了Aaron Bertrand here和here最近的一些帖子,但没有发现任何有关新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可以列出“安全”标志. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |