SQL Server 2008 - 从插入触发器执行sp_start_job - 作业是否异步运行?

时间:2012-04-05 13:42:12

标签: sql-server sql-server-2008 triggers database-security sql-server-job

我希望使用 sp_start_job 插入触发器中启动作业。

插入触发器所在的表每天只有几个插入。

这样做的目的是使插入触发器不必等待作业完成 - 这是正确的吗?

该作业会向公司内的关键人员发送电子邮件,通知新数据。

此外,这个想法的缺点是什么?

用于插入数据的登录/用户是否需要特殊权限/角色

登录/用户是否需要拥有

触发器是否以登录/用户的权限运行?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

是的,您可以从程序的输出中看到它不会动态发送电子邮件,它会将其添加到队列中,因此它不会通过等待发送电子邮件锁定任何内容然后继续触发执行。

您可以在

看到您的电子邮件日志
SELECT * FROM sysmail_log

可能对您有帮助的另一个问题是

SELECT * FROM sysmail_mailitems

答案 1 :(得分:1)

使用sp_send_email发送电子邮件非常快。您可以从触发器内部调用它,可能会丢失20毫秒。不是你通常需要异步做的事情。