2009年10月4日 星期日

DatabaseMail的郵件報表功能設定

SQL2005提供郵件通知的服務,並透過profile設定的方式,系統也可發送工作完成後的郵件報表。但很不幸的,從郵件服務設定到產生工作的郵件報表的過程有點類似樂高積木,中間眉眉角角的設定一不小心可能就會漏掉,搞得DBA只好"再度"捲起袖子巡田了。最近遇到的問題是工作完成後無法產生郵件報表,SQL Server給的錯誤訊息如下:

無法產生郵件報表。執行 Transact-SQL 陳述式或批次時發生例外狀況。未設定全域設定檔。請在 @profile_name 參數中指定設定檔名稱。

開始對這訊息是一頭務水,Mail發送測試沒問題,SQL Agent Service也重開過,怎麼還會給這莫名奇妙的訊息?查了一下才知道原來是郵件服務找不到預設的 profile 檔,所以郵件報表的也就沒辦法產生了。解法很簡單:

1. Database Mail按右鍵,點選「設定Database Mail」,會出現Database Mail組態精靈
2. 選擇「管理設定檔安全性」













3. 在「公用設定檔」頁籤下方選擇一個已建立好的Profile,並在「預設設定檔」欄位選擇「是」,這樣就成啦。













說穿了也沒什麼,但沒做這一步郵件報表就是給它看得到吃不到。給大家參看囉。

1 則留言: