次の方法で共有


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 ロールのメンバーでない場合は、自分が送信した電子メールのイベントだけを参照できます。

関連項目

参照

sysmail_faileditems (Transact-SQL)

概念

データベース メール外部プログラム