2010-11-09 37 views
2

我想找到一种方法让SQL Server的'SQL Agent'在作业步骤事件上运行一段特定的代码。我希望有一种使用SMO注册回调方法的方法,以便在作业步骤开始或更改状态时调用我的代码。我没有成功。有没有办法将这些事件推给我,而不是投票?获取SQL代理作业状态而不进行轮询?

回答

3

没有Smo,DDL或跟踪事件暴露的工作执行(据我可以看到从联机丛书),所以我不认为你可以做你想要的东西直接。如果你能够准确解释你的目标是什么(和你的MSSQL版本)并且有人可能会有一个有用的建议,那将会很有帮助。例如,如果您想收集审计或绩效数据,跟踪可能会更好。

在此期间,这里有一些想法(大多不是很“好”的):

  1. 将您的工作到SSIS包(他们有一个完整的事件模型)
  2. 建立的东西到作业步骤本身
  3. 登录作业步骤完成一个表,并使用一个触发器在桌子上运行代码
  4. 运行日志记录一丝一张桌子和桌子上使用触发器来运行代码
+0

我已经离开 - 迟到的回应。无论如何,我想要一个本地部署的应用程序,通过它,最终用户可以启动并监视运行一系列相互依赖的ssis步骤的远程SQL代理作业的进度。这是一个丑陋的问题,我们有一个跛脚的解决方案。你的想法很好,可能对这种情况下的其他人有所帮助。 – JSacksteder 2011-04-04 14:47:54