我在使用 SQL Server 2005 中的维护计划时遇到了问题。这是一个非常基本的维护计划 - 它有一个“执行 T-SQL 语句任务”,它只是将一行插入表中。
当我执行维护计划时,T-SQL 语句被执行,并且行被输入到表中,但我收到一个显示以下内容的消息框:
标题:执行维护计划
执行失败。有关详细信息,请参阅维护计划和 SQL Server 代理作业历史记录日志。
附加信息:
作业“CobraTest.Subplan_1”失败。(SqlManagerUI)
纽扣:
好的
当我通过转到管理-->维护计划-->右键单击-->执行在 SQL Server Management Studio 中手动执行维护计划时,以及当我通过 SQL Server 代理安排它时,都会发生这种情况。
服务器上还有其他维护计划,可以手动和按计划正常运行。
令我好奇的一件事是,计划的 SQL Server 代理作业运行正常,然后失败了几个晚上,然后运行正常了几个晚上,现在又失败了,并且没有对 SQL 服务器进行任何干预或更改,这让我认为可能是有人在网络上的其他地方更改了一些东西?
有什么建议么?
答案1
随机的想法...
存储过程的退出代码是否非零?例如,RETURN 语句给出 @@ROWCOUNT 或类似代码。
我很久以前就看到过类似的 SQL 代理作业...虽然是在 SSIS 之前
答案2
您是否打开了作业历史记录来查看错误消息?请确保展开历史记录条目并查看来自实际作业步骤的消息。
造成误报的一个常见原因是执行期间出现警告。例如,旧的“警告:聚合消除了空值...”消息通常会导致 SSIS 作业报告失败(取决于允许警告数量的设置)。
如果实际运行的 SQL 不是动态的,请在查询窗口中手动运行它并在那里检查结果。
答案3
我没有明确的答案,但服务器运行的是 SQL Server 2005 SP1。我使用 Managament Studio 连接的客户端计算机运行的是 SP2。当我在服务器上创建维护计划(通过终端服务)时,它成功运行。当我在我的计算机上创建维护计划(连接到服务器)时,它失败了。
这将需要进一步调查,因为我通常会使用同一台客户端机器在 SP1 和 SP2 服务器上工作,但在这种情况下这似乎不是一个好主意。