我需要确定特定的应用程序是否从SQL Server 2005作业运行。问题是我们用于发送数据的应用程序之一将挂起,导致调用它的任何后续作业出现问题。如果我也可以获得CPU时间,我可以确定它是否可能是一个挂起过程。
正在运行的应用程序列表会很好,但是能够使用CPU时间查找特定的可执行文件名称会非常棒!
答案 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