2009-01-09 27 views
2

我需要确定特定的应用程序是否从SQL Server 2005作业运行。问题是我们用来发送数据的一个应用程序将挂起,导致调用它的任何后续作业出现问题。如果我也可以获得CPU时间,那么我可以确定它是否可能是一个挂起的进程。确定特定的Windows应用程序是否使用SQL Server 2005运行

正在运行的应用程序的列表是好的,但能够查找特定的可执行文件名称与CPU时间将是太棒了!

回答

0

我认为最好的方法是运行SQL Server Profiler以及性能监视器并等待指定的作业运行。然后将perfmon统计信息导入分析器。您可以通过转到文件 - >导入性能数据...并将其指向性能监视器日志,从SQL Server分析器执行此操作。

您应该能够选择Process(all)计数器,为您提供所有正在运行的进程的列表,以及获取进程的CPU时间。然后,您可以将它与Profiler日志中的application name和/或hostname关联起来,以了解发生了什么。

+0

在后台持续运行探查器来检测,这不是在生产环境内一个有效的解决方案。 – 2009-01-09 14:26:49

+0

如果您可以足够好地在探查器上使用过滤器,那么负载对于服务器来说不是那么重要。您还可以在指向生产SQL Server的另一台服务器上运行分析器,以进一步减轻负载。 – 2009-01-09 14:40:03

0

尝试打开SQL Server活动监视器。您还可以从存储的proc sp_who2中获取一些信息。

0

让作业运行外部脚本(批处理文件,KSH脚本)而不是TSQL脚本。

1

由作业步骤启动的任何应用程序将显示为由与SQL Server代理程序相同的登录帐户运行。为不会用于任何其他服务的SQL Server代理使用特定的服务帐户。这可以让你监视使用任务管理器,性能监视器等工作启动的应用程序。

相关问题