2

我希望用sp_start_job從一個INSERT觸發器內開始工作。SQL Server 2008 - 從插入觸發器執行sp_start_job - 作業是否異步運行?

插入觸發器的表只有一天插入atm的表。

這樣做的要點是,插入觸發器不必等待作業完成 - 這是正確的嗎?

作業發送電子郵件給公司內的關鍵人員通知新數據。

此外,有什麼弊端這種想法的

用於插入數據的登錄/用戶是否需要任何特殊權限/角色

抑或是工作必須由登錄/用戶擁有

觸發器是否以登錄/用戶權限運行?

在此先感謝您的幫助。

回答

1

是的,你可以從程序的輸出,它不發送電子郵件在飛行中看到的,它把它添加到隊列中,因此不會通過等待電子郵件發送任何鎖定,然後繼續觸發執行。

你可以在

SELECT * FROM sysmail_log 

看到您的電子郵件日誌的另一個查詢,可以幫助你的是

SELECT * FROM sysmail_mailitems 
+0

好的謝謝你的澄清。但是在將來,我可能仍希望使用sp_start_job從觸發器或存儲過程開始工作 - 調用過程是否必須等待作業完成? – 2012-04-05 14:16:19

1

使用sp_send_email發送電子郵件真的很快。你可以從觸發器中調用它,可能會失去20毫秒。不是你通常需要異步做的事情。

+0

是啊,我就在思考,實際上sp_send_email會將電子郵件在隊列之前可以完成電子郵件實際上是發送? – 2012-04-05 14:05:22