Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 确定特定的Windows应用程序是否正在使用SQL Server 2005运行_Sql Server_Windows - Fatal编程技术网

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

Sql server 确定特定的Windows应用程序是否正在使用SQL Server 2005运行,sql-server,windows,Sql Server,Windows,我需要确定特定的应用程序是否从SQLServer2005作业运行。问题是,我们用来发送数据的一个应用程序将挂起,导致调用它的任何后续作业出现问题。如果我还可以获得CPU时间,我可以确定它是否可能是挂起的进程 一个正在运行的应用程序列表会很好,但是能够用CPU时间查找特定的可执行文件名将是非常棒的 我认为最好的方法是运行SQL Server Profiler和性能监视器,然后等待指定的作业运行。然后将perfmon统计数据导入分析器。您可以在SQL Server profiler中执行此操作,方法

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


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

我认为最好的方法是运行SQL Server Profiler和性能监视器,然后等待指定的作业运行。然后将perfmon统计数据导入分析器。您可以在SQL Server profiler中执行此操作,方法是转到文件–>导入性能数据…并将其指向性能监视器日志


您应该能够选择
进程(全部)
计数器,以提供所有正在运行的进程的列表,以及获取进程的CPU时间。然后,您可以将其与探查器日志中的
应用程序名称
和/或
主机名
关联,以查看发生了什么。

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

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

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

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

这可能值得关注你的问题


在生产环境中,不断在后台运行探查器来检测这不是一个有效的解决方案。如果您能够充分使用探查器上的筛选器,那么服务器所能处理的负载就不会太多。您还可以在指向生产SQL server的另一台服务器上运行探查器,以进一步减轻负载。这在SQL server作业中对我没有帮助。