一个好的 SQL 嗅探器

Gui*_*lon 7 sql-server-2008 sql-server

谁能告诉我一个好的 SQL 嗅探器,在那里我可以实时观察对我的数据库运行的 SQL 命令?

如果它是免费的,那就太好了。

Tho*_*ger 24

使用 SQL 跟踪,如果您正在寻找与之配套的 GUI,您可以使用SQL Profiler。它随除 SQL Server Express 之外的所有 SQL Server 版本一起提供。SQL Trace 可直接通过 T-SQL 使用,甚至可以与 SQL Server Express 一起使用,尽管 SQL Trace 的良好工作知识是可取的,因为在没有 GUI 的情况下进行设置可能有点令人生畏。

您要做的是选择与 SQL 语句/批处理/存储过程执行相关的事件。您将能够捕获实际的文本语句。

如果您不想从可用(和许多)事件中进行选择,您可以使用内置模板。听起来您可能想要使用T-SQL模板,但在盲目运行跟踪之前仔细查看它。

SQL Profiler 上的 BOL 参考

在该链接参考的底部,有一些“任务”(教程)可以帮助您朝着正确的方向开始。

编辑:Aaron 提出了一个好观点(见评论)。利用 SQL Server Profiler 通常用于快速浏览或相对较短的跟踪,以进行一些快速故障排除。肯定会影响性能,我看到繁忙的服务器因此而瘫痪。如果您正在寻找更长、对性能影响更小的跟踪,我希望使用 T-SQL 生成服务器端跟踪。另一个很好的选择是扩展事件

扩展事件的 BOL 参考

  • +1 但我还要提到编写服务器端跟踪脚本,并将输出发送到文件(或表,如果必须的话),并在事后审查事件,对生产的影响要小得多服务器而不是打开分析器并尝试实时观看活动。一旦您开始将该输出传送到 Profiler 的米老鼠 UI,您就会遇到麻烦。我知道这就是你的意思,只是想更明确地说明为什么用户界面“不太好”。 (4认同)

Sim*_*hes 10

使用“SQL 探查器”。它随 SQL Server 2008 免费提供。