使用SQL Server 2005确定特定的Windows应用程序是否正在运行

时间:2009-01-09 13:41:23

标签: sql-server windows

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

正在运行的应用程序列表会很好,但是能够使用CPU时间查找特定的可执行文件名称会非常棒!

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

您应该能够选择Process(all)计数器,为您提供所有正在运行的进程的列表,以及获取进程的CPU时间。然后,您可以将其与Profiler日志中的application name和/或hostname相关联,以查看最新情况。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我使用(免费)替换任务管理器“Process Explorer”来更好地了解exe及其依赖项。

可能值得用此监控您的问题。

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx