2017-01-16 85 views
0

我正在用一系列存儲過程創建一個sql作業。這些程序可能導致錯誤或失敗。 我想要做的就是每次發生錯誤時都能發送一封電子郵件。 我的問題是,我不知道如何配置這種方式,可以配置和運送到客戶端。 我遵循本教程:set up email for sql server express爲sql作業配置電子郵件

什麼是最好的方式來配置電子郵件的作業SQL,可以由客戶發貨和配置。

EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'Default', 
    @recipients = '[email protected]', 
    @query = ' 


    SELECT * FROM table 

    ' , 
    @subject = 'Email subject', 
    @attach_query_result_as_file = 0 

這是一個子任務從我的一個維護計劃:

+0

我會從經驗告訴你,這是一種處理錯誤的好方法。你最終會被錯誤信息淹沒。兩個(更好的)選項要考慮。只需登錄到標準文本文件並查看該日誌或記錄到SQL Server數據庫表。如果有電子郵件仍然需要每天發送一次電子郵件,如果有內容要看。 –

+0

@Tanner:非常感謝您的回覆,但您提供的鏈接不是針對sql server express的解決方案,因爲您無法從界面設置電子郵件功能。 – Claritta

+0

@FrankV:感謝您的回覆,事情是這個程序中的錯誤非常重要,需要馬上通知 – Claritta

回答

0

我它使用的是SQL Express,但使用的是SQL 2008 R2標準我使用sp_send_dbmail像這樣從來沒有測試。該子任務僅在父任務失敗時執行。

enter image description here

爲了這一目標的工作,你必須先設置郵件配置文件,如您連接到您的文章的鏈接解釋。

+0

感謝Julian,您所描述的與我正在做的類似。我已經在sql server上的系統數據庫中設置了電子郵件配置文件。 但我不太明白如何將它們發送到客戶端在他們自己的服務器上?我應該編寫另一個存儲過程作爲我的sql作業的一部分,它將設置配置文件和發件人電子郵件帳戶,以便在客戶端的sql服務器上進行正確的設置?我的問題可能是微不足道的,但我仍然是存儲過程和郵件的新手。 – Claritta

相關問題