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のメンバーは、送信した電子メールのイベントのみを表示できます。