次の方法で共有


sysmail_event_log (Transact-SQL)

適用対象: SQL サーバー

データベース メール システムによって返される Windows または SQL Server メッセージごとに 1 行が含まれます。 (このコンテキストのメッセージは、電子メール メッセージではなく、エラー メッセージなどのメッセージを参照します)。データベース メール構成ウィザードまたはsysmail_configure_sp ストアド プロシージャの 構成システム パラメーター ダイアログ ボックスを使用して、ログ レベル パラメーターを構成して、返されるメッセージを決定します。

列名 データ型 説明
Log_id int ログ内のアイテムの識別子。
event_type varchar(11) ログに挿入された通知の種類。 指定できる値は、エラー、警告、情報メッセージ、成功メッセージ、追加の内部メッセージです。
log_date datetime ログ エントリが作成された日時。
説明 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を検索し、そのmailitem_idに関連するメッセージをsysmail_event_log検索します。 sp_send_dbmailからエラーが返された場合、電子メールは データベース メール システムに送信されず、このビューにエラーは表示されません。

個々のアカウントで配信試行が失敗した場合は、再試行の間、メール アイテムの配信が成功または失敗するまで、データベース メールでエラー メッセージが保持されます。 最終的に成功した場合、累積されたすべてのエラーは、 account_idを含む個別の警告としてログに記録されます。 これにより、電子メールが送信された場合でも、警告が表示される可能性があります。 最終的な配信エラーが発生した場合、以前のすべての警告は、すべてのアカウントが失敗しているため、 account_idなしで 1 つのエラー メッセージとしてログに記録されます。

アクセス許可

このビューにアクセスするには、 sysadmin 固定サーバー ロールまたは DatabaseMailUserRole データベース ロールのメンバーである必要があります。 sysadmin ロールのメンバーではないDatabaseMailUserRoleのメンバーは、送信した電子メールのイベントのみを表示できます。

参照

sysmail_faileditems (Transact-SQL)
データベース メール外部プログラム