将使用 ODBC 模块的单个 PHP 脚本生成的所有查询记录到 SQL 服务器?

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

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

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

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

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

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

"C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\PROFILER.EXE"

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

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

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

"Application Name=MyAppNameHere;"

  1. 在第 4 步之前,转到 "Events Selection" 选项卡下。
  2. 勾选"Show all columns"
  3. 勾选"ApplicationName"
  4. 单击 "Column Filters" 按钮
  5. Select "Application Name" 在左边。
  6. 在 "Like" 下输入 "MyAppNameHere"。
  7. 点击运行

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

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

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