2

我需要找到在特定页面中使用的所有 SP。问题是,它们不是直接从页面调用,而是从其他项目中的其他程序集调用。因此,我需要分析所有代码以找到它们。我只是认为也许存在其他方法?只需在应用程序中运行此页面并捕获 SQL Server 调用的所有时刻?使用 VS 2010、MSSQL 2008、C#、Web 表单。

4

1 回答 1

0

我想到了使用 Profiler 来获取应用程序中某些特定页面上的 SP 列表,这是我从两个留下评论的人开发的。在这里,我只是分享一下我如何使用 Profiler 的详细信息:

  1. 运行探查器
  2. 选择 TSQ_SPs 模板
  3. 在事件选择选项卡上选择“显示所有列”复选框
  4. 在同一页面上只检查一个事件:SP:Completed
  5. 在列过滤器上为 ApplicationName、DatabaseName、HostName、LoginName 设置过滤器。实际上,仅 DatabaseName 和 HostName 就足够了。HostName 作为我的计算机名,因为我从 VS 本地运行应用程序。
  6. 将跟踪属性另存为模板。
  7. 运行跟踪
  8. 运行应用程序。
  9. 在加载所需的页面清洁跟踪之前
  10. 打开页面并按下页面上的不同按钮和控件
  11. 完成页面上的所有操作后,将 Trace 作为 Trace Table 保存到 db。
  12. 运行以下查询:

    从 SPTableName 中选择不同的对象名

并获取此页面的 SP 列表。DISTINCT 允许您消除重复的 SP,因为在每个页面上 SP 运行多次。

对每一页重复 9 - 12。

于 2012-10-18T21:23:03.617 回答