使用after
觸發器在SQL Server上發送電子郵件的最佳方式是什麼?我發現了一些文章,但他們似乎有點老。觸發後在SQL Server上發送電子郵件的一種方法
我的目標是發送一封電子郵件給管理員,將一些值插入表中。
我現在在SQL Server 2008 R2上。
使用after
觸發器在SQL Server上發送電子郵件的最佳方式是什麼?我發現了一些文章,但他們似乎有點老。觸發後在SQL Server上發送電子郵件的一種方法
我的目標是發送一封電子郵件給管理員,將一些值插入表中。
我現在在SQL Server 2008 R2上。
剛剛從觸發器內部執行EXEC msdb.dbo.sp_send_dbmail (Transact-SQL),或者我在這裏丟失了什麼?
aditional的閱讀:Database Mail and SQL Mail Stored Procedures (Transact-SQL)和Database Mail
我不太熟悉觸發器,所以我很尋找一些技巧,如果他們存在這種情況。 – tugberk
我會建議插入一條記錄到emailPending表中的觸發器,然後有檢查這個表,併發送電子郵件的任何工作。
將send_dbmail放入觸發器中並不可取,因爲send_dbmail可能因任何原因而停止。
+1,這是我們如何做到的。我似乎記得幾秒鐘等待每次調用sp_send_dbmail,所以'emailPending'表和處理作業是OP後面的「技巧」。緩慢的觸發器是一個殺手,如果你有很多交易,他們可能會導致鎖定,阻塞和死鎖。最好讓你的觸發器運行速度非常快,沒有循環和任何依賴像sp_send_dbmail這樣的過程。 –
我同意Jimbo,我在我們的服務器和kaboom上實現了send_dbmail,所有事務都被鎖定。所以最好不要使用觸發器。 –
Database Mail? http://blog.sqlauthority.com/2008/08/23/sql-server-2008-configure-database-mail-send-email-from-sql-database/ –