2011-06-29 55 views
0

使用after觸發器在SQL Server上發送電子郵件的最佳方式是什麼?我發現了一些文章,但他們似乎有點老。觸發後在SQL Server上發送電子郵件的一種方法

我的目標是發送一封電子郵件給管理員,將一些值插入表中。

我現在在SQL Server 2008 R2上。

+0

Database Mail? http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/ –

回答

3

我會建議插入一條記錄到emailPending表中的觸發器,然後有檢查這個表,併發送電子郵件的任何工作。

將send_dbmail放入觸發器中並不可取,因爲send_dbmail可能因任何原因而停止。

+0

+1,這是我們如何做到的。我似乎記得幾秒鐘等待每次調用sp_send_dbmail,所以'emailPending'表和處理作業是OP後面的「技巧」。緩慢的觸發器是一個殺手,如果你有很多交易,他們可能會導致鎖定,阻塞和死鎖。最好讓你的觸發器運行速度非常快,沒有循環和任何依賴像sp_send_dbmail這樣的過程。 –

+0

我同意Jimbo,我在我們的服務器和kaboom上實現了send_dbmail,所有事務都被鎖定。所以最好不要使用觸發器。 –