0

我需要你关于追踪问题的建议。

我们在清晨运行数据加载作业,并将数据从 Excel 文件加载到 SQL Server 2005 db。当作业在生产服务器上运行时,很多时候需要 2 到 3 个小时才能完成任务。我们可以深入到一个工作步骤,它需要 99% 的总时间才能完成。

虽然在登台环境(恢复了相同的生产数据库)上运行作业步骤(存储过程)需要 9 到 10 分钟,但在生产服务器上作为作业的一部分在清晨运行时同样需要数小时。生产服务器总是在工作步骤中停滞不前。

我想在工作步骤中运行跟踪(在工作步骤中的 while 循环中为每个用户运行大约 10 个存储的过程)并收集信息以找出问题。

SQL Server 2005 中有哪些可用的方法来实现相同的目标?我只想为这些 SP 运行跟踪,而不是在生产服务器上运行特定时间段,因为跟踪提供了大量信息,而且我(因为不是 DBA)很难分析那么多跟踪信息并弄清楚问题。所以我只想收集有关特定 SP 的信息。

让我知道你的建议。

感谢您的时间和帮助。

谢谢。

4

2 回答 2

1

使用 SQL 事件探查器。它允许您跟踪大量事件,包括存储过程,甚至可以对跟踪应用过滤器。

  • 创建一个新的跟踪
  • 只选择存储过程(RPC:已完成)
  • 检查“TextData”以获取要读取的列
  • 单击“列过滤器”按钮
  • 从左侧导航中选择“TextData”
  • 展开“Like”树视图,然后输入您的过程名称
  • 勾选“排除不包含值的行”
  • 单击“确定”,然后单击“运行”
于 2010-05-18T22:06:06.110 回答
0

当时服务器上发生的其他事情很重要,因为它在其他服务器上更快但不是 prod。也许您正在运行统计或索引作业的日常备份或维护?

于 2010-05-18T22:02:28.220 回答