Database Mail 架構
更新: 2005 年 12 月 5 日
Database Mail 是由下列主要元件所組成:
- 組態與安全性元件
Database Mail 會將組態與安全性資訊儲存在 msdb 資料庫中。組態與安全性物件會建立用於 Database Mail 的設定檔與帳戶。 - 訊息元件
msdb 資料庫會充當郵件主機資料庫,其中會保存 Database Mail 用來傳送電子郵件的訊息物件。這些物件包括 sp_send_dbmail 預存程序,以及保存訊息相關資訊的資料結構。 - Database Mail 可執行檔
Database Mail 可執行檔是一個外部程式,它會從 msdb 資料庫中的佇列讀取,並傳送訊息到電子郵件伺服器。 - 記錄與稽核元件
Database Mail 會將記錄資訊記錄在 msdb 資料庫與 Microsoft Windows 應用程式事件記錄檔中。
您不需要完全瞭解 Database Mail 架構,也可以有效率地使用 Database Mail。不過,瞭解 Database Mail 的元件以及元件互動的方式,將有助於設計應用程式,並解決任何可能發生的問題。
下圖顯示 Database Mail 架構的概觀。
Database Mail 是根據使用 Service Broker 技術的佇列架構而設計。當使用者執行 sp_send_dbmail時,預存程序會在郵件佇列中插入項目,並建立包含該電子郵件訊息的記錄。在郵件佇列中插入新項目會啟動外部 Database Mail 處理序 (DatabaseMail90.EXE)。外部處理序會讀取電子郵件資訊,並傳送電子郵件訊息到適當的電子郵件伺服器。外部處理序會在「狀態」佇列中插入項目,表示傳送作業的結果。在狀態佇列中插入新記錄會啟動內部預存程序,此預存程序會更新電子郵件訊息的狀態。除了儲存已傳送 (或未傳送) 的電子郵件訊息之外,Database Mail 也會在系統資料表中記錄任何電子郵件附加檔案。Database Mail 檢視提供可用於進行疑難排解的訊息狀態,並提供可用來管理 Database Mail 佇列的預存程序。
只有 msdb 資料庫中 DatabaseMailUserRole 的成員可以執行 sp_send_dbmail。
本章節內容
請參閱
工作
概念
Database Mail 組態物件
郵件主機資料庫
Database Mail 外部程式
其他資源
Database Mail 檢視 (Transact-SQL)
Database Mail 和 SQL Mail 預存程序 (Transact-SQL)
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2005 年 12 月 5 日 |
|