SQL 2000 脚本在代理作业溢出时终止该作业

发布于 2024-11-09 21:49:28 字数 162 浏览 0 评论 0 原文

在等待升级的旧版 SQL 2000 机器上

是否有人有脚本可以在 SQL Agent 2000 中的作业超出设定的持续时间或与另一个代理作业重叠时终止/中止该作业。

这给我们带来了严重的问题,每隔几周就会有一个作业超支,然后锁定重建索引作业,从而冻结我们的 24 / 7 服务器

On a legacy SQL 2000 box that is awaiting upgrade

Does anyone have a script to kill / abort a job in SQL Agent 2000 if it over runs a set duration or overlaps with another agent job.

This is causing us a serious problem every few weeks a job overuns then locks the reindex job and that freezes our 24 / 7 server

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只是我以为 2024-11-16 21:49:28

一种解决方案是在作业开头添加一个步骤,与长时间运行的作业重叠,检查长时间运行的作业是否仍在运行,如果运行则发出 sp_stop_job 命令。

您可以使用 获取作业的当前执行状态sp_help_job,但其输出在查询中不太容易操作。

sp_help_job 的输出强制转换为临时表的各种方法。 ="nofollow">此处 - 或者您可以查询msdb.sysjobhistory 获取执行状态信息。

One solution would be to add a step at the beginning of the job with which the long-running job overlaps which checks whether the long-running job is still running, and if it is issue an sp_stop_job command.

You can get the current execution status of a job using sp_help_job, but its output is not very easy to manipulate in a query.

Various methods of coercing the output of sp_help_job into a temp table in SQL 2000 are discussed here - alternatively you can query msdb.sysjobhistory to get the execution status information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文