如何在另一台服务器上完成作业时启动作业或进程?

时间:2012-04-26 09:51:51

标签: sql sql-server-2008 windows-services etl

我想在另一台服务器上的作业成功完成后立即发送邮件或在我的服务器上自动启动作业。我可以访问其他服务器并可以查看作业状态,但我无法更改正在运行SSIS包的作业本身。

基本上,我想在源已经停止刷新之后立即开始刷新我的数据库(通过在作业中运行ETL)。我很乐意在这个Windows服务实现旁边提出建议。

1 个答案:

答案 0 :(得分:1)

我冒昧地编辑了问题和标题,使其更加明确。据我从您的描述中理解,当服务器B上的作业成功完成时,您希望在服务器A上运行作业(或启动其他一些进程)。您无法更改服务器B上的作业定义,但您可以登录并查看作业历史记录。

如果您无法更改作业或服务器B上的任何其他内容,则表示在作业完成时无法通知服务器A.因此,您需要使用Windows服务或可能是每隔几分钟(或几小时或任何适当的时间)运行的简单脚本从服务器A查询服务器B.

您可以使用SMO Job类从.NET或PowerShell查询作业的状态,也可以使用sp_help_job过程从TSQL查询作业的状态。哪个是更好的解决方案取决于您希望如何实现轮询机制。

相关问题