我了解扩展事件和SQL SeErver事件探查器的概念,我觉得它们两者都可以完成相同的工作。我无法理解它们之间的主要区别。谁能解释我扩展事件和SQL Server Profiler之间的主要区别?何时可以在生产环境中使用? SQL Server Profiler是否适合生产服务器?
答案 0 :(得分:0)
Profiler在幕后使用了一种过时的且已过时的技术,称为SQL Trace。它不再更新,可以监视较新的引擎功能,例如内存优化表。因此,扩展事件比SQL事件探查器具有更多可监视的事件:
它还具有更加灵活的输出(targets)。除了文件和环形缓冲区之类的“经典”目标(其中有关事件的全部信息以“表格”格式保存)外,还有事件计数器和直方图目标。它们可以帮助您实现更低的开销,因为它们只计算特定事件发生了多少次,而没有保存收集的数据的开销。还有pair_matching目标,可以帮助您将事件彼此关联,例如交易的开始和结束。
XE与跟踪相比的另一个优点是,跟踪的定义不是人类可读的(至少不容易阅读):
对于普通人来说,XE的定义更清晰:
跟踪仍然可以使用,建议使用扩展事件来监视生产服务器。