2

我试图找到一种方法让 SQL Server“SQL 代理”在作业步骤事件上运行一段特定的代码。我曾希望有一种方法可以使用 SMO 注册回调方法,以便在工作步骤开始或更改状态时调用我的代码。我没有任何成功。有什么方法可以将这些事件推送给我,而不是轮询?

4

1 回答 1

3

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

与此同时,这里有一些想法(大多不是很“好”的想法):

  1. 将您的作业转换为 SSIS 包(它们具有完整的事件模型)
  2. 自己在工作步骤中构建一些东西
  3. 将作业步骤完成记录到表中,并在表上使用触发器来运行您的代码
  4. 运行跟踪并记录到表并使用表上的触发器来运行您的代码
于 2010-11-10T15:23:06.833 回答