sysmail_event_log (Transact-SQL)

データベース メール システムから返される、Windows または SQL Server のメッセージごとに 1 行のデータを格納します。ここでのメッセージとは、電子メール メッセージではなくエラー メッセージなどのメッセージを指します。返されるメッセージを指定するには、データベース メール構成ウィザードの [システム パラメータの構成] ダイアログ ボックスまたは sysmail_configure_sp ストアド プロシージャを使用して、ログ記録レベル パラメータを構成します。

列名

データ型

説明

Log_id

int

ログ内のアイテムの識別子。

event_type

varchar(11)

ログに挿入された通知の種類。可能な値は、エラー、警告、情報メッセージ、成功メッセージ、およびその他の内部メッセージです。

log_date

datetime

ログ エントリが作成された日時。

description

nvarchar(max)

記録されたメッセージのテキスト。

process_id

int

データベース メール外部プログラムのプロセス ID。通常、データベース メール外部プログラムが起動するたびに変更されます。

mailitem_id

int

メール キュー内のメール アイテムの識別子。メッセージが特定の電子メール アイテムに関係していない場合は NULL になります。

account_id

int

イベントに関係するアカウントの account_id。メッセージが特定のアカウントに関係していない場合は NULL になります。

last_mod_date

datetime

行が最後に変更された日時。

last_mod_user

sysname

行を最後に変更したユーザー。電子メールの場合は、メールを送信したユーザーになります。データベース メール外部プログラムにより生成されたメッセージの場合は、プログラムのユーザー コンテキストになります。

説明

データベース メールのトラブルシューティングでは、sysmail_event_log ビューで、電子メールの失敗に関係するイベントを検索できます。データベース メール外部プログラムの失敗を示すメッセージなど、メッセージによっては、特定の電子メールと関係していない場合があります。特定の電子メールに関係するエラーを検索するには、sysmail_faileditems ビューで、失敗した電子メールの mailitem_id を確認し、次に sysmail_event_log でその mailitem_id に関係するメッセージを検索します。sp_send_dbmail でエラーが返された場合は、データベース メール システムに電子メールは送信されず、このビューにエラーは表示されません。

個々のアカウントで配信試行が失敗した場合は、再試行の間、メール アイテムの配信が成功または失敗するまで、データベース メールでエラー メッセージが保持されます。配信が成功した場合、それまで蓄積されたエラーは個別の警告として、account_id と共にログに記録されます。これにより、電子メールが送信された場合も警告が表示されることがあります。配信が失敗した場合、それまでの警告はすべて 1 つのエラー メッセージとしてログに記録されます。この場合、すべてのアカウントが失敗しているので、個々の account_id は記録されません。

権限

このビューを使用するには、sysadmin 固定サーバー ロールまたは DatabaseMailUserRole データベース ロールのメンバであることが必要です。DatabaseMailUserRole のメンバであっても、sysadmin ロールのメンバでない場合は、自分が送信した電子メールのイベントだけを参照できます。