sysmail_allitems (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed Instance

データベース メールで処理されたメッセージごとに 1 行のデータを格納します。 すべてのメッセージの状態を表示する場合は、このビューを使用します。

失敗した状態のメッセージのみを表示するには、 sysmail_faileditems (Transact-SQL) を使用します。 送信されていないメッセージのみを表示するには、 sysmail_unsentitems (Transact-SQL) を使用します。 送信されたメッセージのみを表示するには、 sysmail_sentitems (Transact-SQL) を使用します。

列名 データ型 説明
mailitem_id int メール キュー内のメール アイテムの識別子。
profile_id int メッセージの送信に使用されるプロファイルの識別子。
受信者 varchar(max) メッセージ受信者の電子メール アドレス。
copy_recipients varchar(max) メッセージのコピーを受信したユーザーの電子メール アドレス。
blind_copy_recipients varchar(max) メッセージのコピーを受信したが、メッセージ ヘッダーに名前が表示されないユーザーの電子メール アドレス。
subject nvarchar(510) メッセージの件名行。
body varchar(max) メッセージの本文
body_format varchar(20) メッセージの本文形式。 可能な値は TEXT と HTML です。
importance varchar(6) メッセージの importance パラメーター。
sensitivity varchar(12) メッセージの 秘密度 パラメーター。
file_attachments varchar(max) 電子メール メッセージに添付されたファイル名の、セミコロン区切りの一覧。
attachment_encoding varchar(20) メールの添付ファイルの種類。
query varchar(max) メール プログラムによって実行されるクエリ。
execute_query_database sysname メール プログラムがクエリを実行したデータベース コンテキスト。
attach_query_result_as_file bit 値が 0 の場合、クエリ結果は本文の内容の後の電子メール メッセージの本文に含まれていました。 値が 1 の場合、結果が添付ファイルとして返されたことを示します。
query_result_header bit 値が 1 の場合、クエリ結果には列ヘッダーが含まれていました。 値が 0 の場合、クエリの結果に列のヘッダーが含まれていないことを示します。
query_result_width int メッセージの query_result_width パラメーター。
query_result_separator char(1) クエリの出力で列の区切りに使用された文字。
exclude_query_output bit メッセージの exclude_query_output パラメーター。 詳細については、「 sp_send_dbmail (Transact-SQL)」を参照してください。
append_query_error bit メッセージの append_query_error パラメーター。 0 は、クエリにエラーがあった場合、データベース メールで電子メール メッセージが送信されないことを示します。
send_request_date datetime メッセージがメール キューに配置された日時。
send_request_user sysname メッセージを送信したユーザー。 これは、メッセージの From: フィールドではなく、データベース メール プロシージャのユーザー コンテキストです。
sent_account_id int メッセージの送信に使用されるデータベース メール アカウントの識別子。
sent_status varchar(8) メールの状態。 次のいずれかの値になります。

sent - メールが送信されました。

unsent - データベース メールは引き続きメッセージを送信しようとしています。

再試行中 - データベース メールメッセージの送信に失敗しましたが、もう一度送信しようとしています。

failed - データベース メールでメッセージを送信できませんでした。
sent_date datetime メッセージが送信された日時。
last_mod_date datetime 行の最後の変更の日時。
last_mod_user sysname 行を最後に変更したユーザー。

注釈

sysmail_allitems ビューを使用して、データベース メールによって処理されたすべてのメッセージの状態を確認します。 データベース メールのトラブルシューティングを行うとき、このビューでは送信済みとそれ以外のメッセージの属性を比較できるので、問題の性質を特定するのに役立ちます。

このビューによって公開されるシステム テーブルにはすべてのメッセージが含まれており、 msdb データベースが拡大する可能性があります。 古いメッセージをビューから定期的に削除して、テーブルのサイズを小さくします。 詳細については、「データベース メール メッセージとイベント ログをアーカイブするSQL Server エージェント ジョブを作成する」を参照してください。

アクセス許可

sysadmin 固定サーバー ロールと DatabaseMailUserRole データベース ロールに付与されます。 sysadmin 固定サーバー ロールのメンバーによって実行されると、このビューにすべてのメッセージが表示されます。 他のすべてのユーザーには、送信したメッセージのみが表示されます。