代码之家  ›  专栏  ›  技术社区  ›  Kelsey

获取SQL Server 2000上的存储过程使用情况数据

  •  2
  • Kelsey  · 技术社区  · 17 年前

    1. X时间内所有存储过程调用的总数
    2. X时间内每个特定存储过程调用的总数。
    3. 在X时间内处理所有存储过程所花费的总时间。
    4. 在X时间内处理特定存储过程所花费的总时间。

    我的第一个预感是使用一组过滤器设置SQL Profiler来收集这些数据。我不喜欢这个解决方案的一点是,数据必须写入某个文件或表中,我必须进行数字运算才能得出我需要的结果。我还希望在应用更改以查看更改如何影响数据库的过程中,经过几天的时间得到这些结果。

    我无法直接访问服务器来运行SQL Profiler,因此我需要创建跟踪模板文件并将其提交给我的DBA,让他们在X时间内运行该文件,然后将结果返回给我。

    编辑:也许有一些推荐的工具可以在概要文件创建的跟踪文件上工作,以提供我想要的统计信息?

    2 回复  |  直到 17 年前
        1
  •  2
  •   p.campbell    17 年前

    我看到两个选择:

    1. 重新编写脚本并重新编译存储过程以调用日志存储过程。该存储过程将由所有希望进行性能跟踪的存储过程调用。将其写入具有存储过程名称、当前日期时间和任何其他内容的表中。 赞成 :很容易恢复,因为脚本中有一份存储过程副本,可以很容易地退出。容易发问! :您尝试评估的存储过程每次运行的性能影响。

    2. 使用在每次存储过程调用的开始和结束时写入日志文本文件的代码重新编译数据访问层。您是否从一个可以在一个地方插入日志代码的类继承DAL? :无DB混乱,当您想要停止此性能测量时,您可以在程序集上进行切换。甚至可以在app.config中调整开/关。 骗局

        2
  •  -1
  •   p.campbell    17 年前

    在SQL探查器之外创建SQL Server跟踪可能会有所帮助。

    http://support.microsoft.com/kb/283790

    监视跟踪: http://support.microsoft.com/kb/283786/EN-US/

    推荐文章