记录从使用 ODBC 模块的单个 PHP 脚本对 SQL Server 进行的所有查询


Log all queries to SQL Server made from single PHP script that use ODBC module?

我有 1,5k 行 PHP 意大利面条代码,其中有几十个 if 生成数十个查询。

所有条件都是简单的"=="或"!=",针对~20种可能性的列表。

现在我需要添加 21st...我需要:

  • 确保没有进行不需要的查询
  • 查看对其他可能性进行了哪些查询,以确保我实现了所有必要的查询

如果代码使用 ODBC php 模块与 SQL Server 通信,如何为单个.php文件启用查询日志记录(执行查询的 ext 就足够了(?

您可以使用 SQL Server Profiler。它将安装在服务器上或安装了 SQL 服务器管理工具的任何位置。通常是这样的:

"C:'Program Files (x86)'Microsoft SQL Server'110'Tools'Binn'PROFILER.EXE"

  1. 启动 SQL 事件探查器
  2. 输入服务器信息,单击"连接">
  3. 选择一个模板。我建议您选择"持续时间",因为默认情况下它仅记录已完成的命令。
  4. 单击运行。
  5. 在应用程序中单击,您将看到 SQL 语句已执行。

如果您的服务器上发生了很多事情。你会看到一吨的东西经过,并意识到它太多了,无法理解。所以我的建议是:

  1. 更新连接字符串以包括:

"Application Name=MyAppNameHere;"

  1. 在步骤4之前,转到"事件选择"选项卡。
  2. 选中"显示所有列">
  3. 在"应用程序名称"下打勾
  4. 点击"列过滤器"按钮
  5. 选择左侧的"应用程序名称"。
  6. 在"喜欢"下输入"我的AppNameHere"。
  7. 单击运行

现在,当您在应用程序中单击时,它只会记录您正在做的事情。

您可以将此数据拖放到表或文件中,也可以只查看输出到屏幕的内容。

您可能会发现添加其他列或事件会很有帮助。