2004年1月29日
『 SQL Mail を使っていますか?』
システム管理者にとっては、管理作業の手間をいろいろと省きたいものです。
そんなときに便利なのが、メール自動送信機能です。
SQL Serverの中に組み込まれているジョブ管理サービス「SQL Server Agent」ではメールの自動送信機能があります。
また、xp_sendmailなどの拡張ストアドプロシージャを使って、メールの送受信を行うこともできます。
このようなメール送信機能をうまく使うと、
(1)自動登録されたジョブの実行結果を管理者に通知することができる。
(2)異常事態が発生したときに、管理者に通知することができる。
(3)トランザクションログファイルの圧縮作業のように、異常ではないが、
そろそろメンテナンス作業を行なった方がよい状態になったことを
管理者に通知することができる。
などのような、メリットを受けられます。
特に、異常事態の発生や、ジョブの失敗など、緊急を要する場合の通知は、携帯電話にメールを送信すれば迅速に対応することができます。
このようにSQL Server のメール送受信機能はすごく便利なのですが、イマイチ、融通の利かないことがあります。
このことが逆に、SQL Server のメール送受信機能を使わない理由にもなることがあります。
それは、メール送受信機能は、MAPI(または拡張 MAPI)に準拠し、必ず MAPI に準拠したメールクライアントソフトが必要だということです。
簡単に言えば、Out look 98/2000/2002/2003のOut lookシリーズが必要です(Out look
Expressはダメ)。
さらにややこしいのは、Exchangeサーバーを使っているのかどうかで状況が変わってきます。
また、Out lookのセキュリティ修正プログラムの適用の有無でも状況が変わります。
SQL Server はマイクロソフト社の製品ですから、同じマイクロソフト社の Exchange サーバーとの相性が良いのは当然です。しかし、Exchangeサーバーを使わず、他のメールサーバー(インターネットメール)を使うことも十分考えられます。
インターネットメールを前提としたときの、SQL Mail の機能が、Out look の混乱によってユーザには受け入れられていないように思えます。
Out look 2000では、セキュリティ修正プログラムの有無によって、メールの自動送信ができなくなる問題。
Out look 2002では、Exchange 以外のメール使用時のパフォーマンス向上のための仕様変更によって、メールが自動送信できなくなる問題。
このように、いろいろ問題があります。
(マイクロソフトサポート文書番号 315886 などを参照)
根本解決するためには、SQL Mailが、MAPI 準拠ではなくて、完全な SMTP クライアントとして作り直されることを熱望しております。
[参考]
拡張ストアドプロシージャからメールを送信するような場合は、下記ホームページで紹介されている方法を使うと、Out look をインストールしなくてもメール送信が可能です。
http://www.sqldev.net/xp/xpsmtp.htm
|