SQL Server代理作业运行缓慢

Pra*_*eek 7 sql-server sql-server-2005 sql-agent sql-agent-job

我正在使用SQL Server 2005中的SQL Server代理作业执行存储过程.

这项工作一直持续到昨天.从昨天起,这项工作耗时超过1小时而不是2分钟.

我在SSMS中执行了存储过程,执行时间不到1分钟.

我无法弄清楚为什么它作为SQL Server代理作业执行时需要超过1小时?

Ber*_*her 6

经过一段时间的评论并假设SP在SSMS中执行时,在相同的输入参数和数据下表现良好,我最后认为我可以给出最后一个提示:

根据SP中执行的操作(例如,在循环或游标中插入/更新/删除大量数据),应在代码开头将nocount设置为on。

set nocount on
Run Code Online (Sandbox Code Playgroud)

如果不是这种情况,或者没有帮助,请添加注释中已经提到的更多信息(例如,作业和每个作业步骤的所有设置,已记录的内容,作业历史记录中的内容,请检查SQLerrorlogs,eventlogs等。) ..)。还可以查看“ SQL Server日志”,也许您可​​以在此处收集一些信息。同样,查看数据库服务器的应用程序/系统事件始终是一个好主意。要获得基本概述,可以在SSMS中使用Activitymonitor,方法是选择Databaseserver,然后从contextmenu菜单中选择“ Activity monitor”,然后搜索sql代理。

我的最后尝试是尝试为代理运行sql跟踪。在这种情况下,您将启动跟踪和筛选,例如由运行SQLAgent Service的用户进行筛选。您可以为跟踪设置很多选项,因此我建议使用google搜索,在MSDN上搜索或在此处对stackoverflow提出另一个问题。