从 SQL 服务器或 IIS 中提取 SQL 查询执行位置

从 SQL 服务器或 IIS 中提取 SQL 查询执行位置

我正在为一个包含数百个经典 asp 页面的项目重构数据库。我需要能够找出哪些页面正在执行哪些查询,以便我可以分析数据。我希望有某种方法可以实现这一点,而不必手动打开每个 asp 页面并将查询复制/粘贴到电子表格中。我想这应该是我可以从可能的日志中提取的内容?任何信息都值得赞赏。

  • IIS 7
  • MSSQL 2008 R2
  • Windows Web Server 2008 内部版本 6001

答案1

除非在应用程序中设置了日志记录,否则我想不出办法去一个地方查看哪些查询来自哪些页面。

如果您不想打开每个页面的代码或搜索代码,您可以尝试查看 SQL Server Profiler。特别是如果您有开发/测试环境(探查器会消耗资源并减慢生产系统的速度,因此应该很少使用 - 而应该使用服务器端跟踪或在此处或那里进行快速探查器跟踪)。基本上,您可以查看 RPC:Completed 和 SQL:BatchCompleted 事件以查看触发和完成的查询,如果您有理由相信查询超时/未完成,您也可以查看起始事件。不过,这仍然是手动的,您必须按顺序访问每个页面并记住该顺序或访问页面,保存跟踪文件并继续,等等。

相关内容