データベース メール

データベース メールは、SQL Server データベース エンジンから電子メールを送信するためのエンタープライズ ソリューションです。データベース メールを使用すると、データベース アプリケーションからユーザーに電子メールを送信できます。メッセージにはクエリ結果を含めることができ、ネットワーク上にあるリソースのファイルも含めることができます。データベース メールは、信頼性、スケーラビリティ、セキュリティ、およびサポート性を念頭に置いて設計されています。

セキュリティに関する注意セキュリティに関する注意

既定では、データベース メールはアクティブになっていません。データベース メールを使用するには、データベース メール構成ウィザード、sp_configure ストアド プロシージャ、またはポリシー ベースの管理のセキュリティ構成ファセットを使用して、データベース メールを明示的に有効にする必要があります。

信頼性

  • Microsoft Outlook または Extended Messaging Application Programming Interface (拡張 MAPI) が不要。データベース メールでは、標準的な簡易メール転送プロトコル (SMTP) を使用してメールを送信します。SQL Server を実行するコンピューターに拡張 MAPI クライアントをインストールしなくても、データベース メールを使用できます。

  • プロセスの分離。SQL Server への影響を最小限にするために、電子メールを配信するコンポーネントは SQL Server 外部の別個のプロセスで実行されます。SQL Server は、外部プロセスが停止または失敗しても、電子メールのキューを続行します。キューに登録されたメッセージは、外部プロセスまたは SMTP サーバーがオンラインになると送信されます。

  • フェールオーバー アカウント。データベース メール プロファイルを使用すると、複数の SMTP サーバーを指定できます。ある SMTP サーバーが使用できない場合は、別の SMTP サーバーにメールを配信できます。

  • クラスター サポート。データベース メールはクラスターに対応しており、クラスターで完全にサポートされています。

スケーラビリティ

  • バックグラウンド配信。データベース メールでは、バックグラウンド配信または非同期配信が提供されています。sp_send_dbmail を呼び出してメッセージを送信すると、データベース メールによって Service Broker のキューに要求が追加されます。ストアド プロシージャが直ちに返されます。外部の電子メール コンポーネントが要求を受信し、電子メールを配信します。

  • 複数のプロファイル。データベース メールを使用すると、SQL Server インスタンス内に複数のプロファイルを作成できます。オプションで、メッセージを送信するときにデータベース メールが使用するプロファイルを選択できます。

  • 複数のアカウント。各プロファイルに、複数のフェールオーバー アカウントを含めることができます。別々のアカウントを持つ別々のプロファイルを構成して、複数の電子メール サーバーで電子メールを配信できます。

  • 64 ビット互換性。データベース メールは、SQL Server の 64 ビット インストールで完全にサポートされています。

セキュリティ

  • 既定でオフ。SQL Server の外部からのアクセスを縮小するために、データベース メールのストアド プロシージャは既定で無効になっています。

  • データベース メールを送信するには、msdb データベースの DatabaseMailUserRole データベース ロールのメンバーである必要があります。

  • プロファイル セキュリティ。データベース メールでは、メール プロファイルにセキュリティが適用されます。データベース メール プロファイルにアクセスする msdb データベース ユーザーまたはグループを選択することによって、特定のユーザーまたは msdb のすべてのユーザーにアクセスを許可できます。プライベート プロファイルでは、指定した一覧のユーザーにアクセスが制限されます。パブリック プロファイルは、データベースのすべてのユーザーがアクセスできます。

  • 添付ファイル サイズ ガバナー。データベース メールでは、添付ファイル サイズの制限を構成できます。この制限は、sysmail_configure_sp ストアド プロシージャを使用して変更できます。

  • 禁止するファイル拡張子。データベース メールでは、禁止するファイル拡張子の一覧が保持されます。ユーザーは、一覧に含まれている拡張子を持つファイルを添付できません。この一覧は、sysmail_configure_sp を使用して変更できます。

  • データベース メールは、SQL Server エンジン サービス アカウントで実行されます。フォルダー内のファイルを電子メールに添付するには、SQL Server エンジン アカウントに、ファイルが格納されているフォルダーへのアクセス権限が必要です。

サポート性

  • 統合された構成。データベース メールでは、電子メール アカウントの情報が SQL Server データベース エンジンに保存されます。外部クライアント アプリケーションでメール プロファイルを管理する必要はありません。データベース メール構成ウィザードでは、データベース メールを構成するための便利なインターフェイスが提供されています。また、Transact-SQL を使用して、データベース メール構成を作成および維持することもできます。

  • ログ記録。電子メールの利用状況は、SQL Server、Microsoft Windows アプリケーション イベント ログ、および msdb データベースのテーブルに記録されます。

  • 監査。データベース メールでは、送信したメッセージおよび添付ファイルのコピーが msdb データベースに保存されます。データベース メールの利用状況の監査や、保存されているメッセージの確認を簡単に行うことができます。

  • HTML のサポート。データベース メールを使用すると、HTML 形式の電子メールを送信できます。

データベース メールを使用すると、SQL Mail の最も一般的に要求される機能が、強力で高性能の機能に置き換えられます。データベース メールは SMTP サーバーで動作するように設計されており、Microsoft SMTP サーバーでテスト済みです。SQL Mail からデータベース メールへのストアド プロシージャの変換については、「ストアド プロシージャを SQL Mail からデータベース メールに変換する方法 (Transact-SQL)」を参照してください。

注意

SQL Server Express では、データベース メールを使用できません。