データベース メールのアーキテクチャ

更新 : 2005 年 12 月 5 日

データベース メールは次に示す主要なコンポーネントで構成されています。

  • 構成およびセキュリティ関連コンポーネント
    データベース メールは、msdb データベースに構成情報とセキュリティ情報を格納します。構成オブジェクトおよびセキュリティ オブジェクトは、データベース メールで使用されるプロファイルおよびアカウントを作成します。
  • メッセージング関連コンポーネント
    msdb データベースは、データベース メールでの電子メール送信に使用されるメッセージング オブジェクトを保持するメール ホスト データベースとして機能します。これらのオブジェクトには、sp_send_dbmail ストアド プロシージャと、メッセージに関する情報を格納するデータ構造が含まれています。
  • データベース メール実行可能ファイル
    データベース メール実行可能ファイルは、msdb データベース内のキューからメッセージを読み取り、電子メール サーバーにメッセージを送信する外部プログラムです。
  • ログおよび監査関連コンポーネント
    データベース メールは、msdb データベースおよび Microsoft Windows アプリケーション イベント ログにログ情報を記録します。

データベース メールは、アーキテクチャを完全に理解しなくても、効果的に使用できます。ただし、データベース メールを構成しているコンポーネントとそれらのコンポーネントの持つ影響を理解しておくと、アプリケーションのデザインや発生する可能性がある問題のトラブルシューティングに役立つ場合があります。

次の図は、データベース メールのアーキテクチャの概要を表しています。

msdb から SMTP メール サーバーへのメッセージ送信

データベース メールは、Service Broker テクノロジを使用するキュー アーキテクチャを基に設計されています。ユーザーが sp_send_dbmail を実行すると、アイテムがメール キューに挿入され、電子メール メッセージを格納したレコードが作成されます。メール キューに新しいエントリが挿入されると、データベース メールの外部プロセス (DatabaseMail90.exe) が起動します。外部プロセスは、電子メール情報を読み取り、電子メール メッセージを適切な電子メール サーバーに送信します。また、送信操作の結果の状態キューにアイテムを挿入します。状態キューに新しいエントリが挿入されると、電子メール メッセージの状態を更新する内部ストアド プロシージャが起動します。データベース メールは、システム テーブルに送信済み (または未送信) の電子メール メッセージを格納するだけでなく、電子メールの添付ファイルも記録します。データベース メール ビューには、トラブルシューティングのためにメッセージの状態が表示されます。また、ストアド プロシージャにより、データベース メール キューの管理が可能になります。

sp_send_dbmail を実行できるのは、msdb データベース内の DatabaseMailUserRole のメンバのみです。

このセクションのトピック

参照

処理手順

データベース メールのトラブルシューティング

概念

データベース メール構成オブジェクト
メール ホスト データベース
データベース メール外部プログラム

その他の技術情報

データベース メール ビュー (Transact-SQL)
データベース メールと SQL Mail のストアド プロシージャ (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2005 年 12 月 5 日

新しい内容 :
  • データベース メールのアーキテクチャを表す図。