sysmail_allitems (Transact-SQL)

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

状態が失敗となっているメッセージだけを確認するには、sysmail_faileditems (Transact-SQL) を使用します。未送信のメッセージだけを確認するには、sysmail_unsentitems (Transact-SQL) を使用します。送信済みのメッセージだけを確認するには、sysmail_sentitems (Transact-SQL) を使用します。

列名

データ型

説明

mailitem_id

int

メール キュー内のメール アイテムの識別子。

profile_id

int

メッセージの送信に使用されたプロファイルの識別子。

recipients

varchar(max)

メッセージ受信者の電子メール アドレス。

copy_recipients

varchar(max)

CC としてメッセージのコピーを受け取る受信者の電子メール アドレス。

blind_copy_recipients

varchar(max)

BCC としてメッセージのコピーを受け取る受信者の電子メール アドレス。この受信者の名前は、メッセージ ヘッダーには表示されません。

subject

nvarchar(510)

メッセージの件名。

body

varchar(max)

メッセージの本文。

body_format

varchar(20)

メッセージの本文の書式。可能な値は TEXT と HTML です。

importance

varchar(6)

メッセージの importance パラメータ。

sensitivity

varchar(12)

メッセージの sensitivity パラメータ。

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

メッセージを送信したユーザー。これはメッセージの [差出人] フィールドに表示されるユーザーではなく、データベース メール プロシージャのユーザー コンテキストです。

sent_account_id

int

メッセージの送信に使用されたデータベース メール アカウントの識別子。

sent_status

varchar(8)

メールの状態。次の値をとります。

  • sent - 送信済み

  • unsent - データベース メールでメッセージの送信を試行中

  • retrying - データベース メールで送信に失敗し、再送信を試行中

  • failed - データベース メールでメッセージを送信不能

sent_date

datetime

メッセージが送信された日時。

last_mod_date

datetime

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

last_mod_user

sysname

行を最後に変更したユーザー。

説明

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

このビューで表示されるシステム テーブルには、すべてのメッセージが格納されているため、msdb データベースが増大する可能性があります。古いメッセージをビューから定期的に削除して、テーブルのサイズを縮小するようにしてください。詳細については、「データベース メール メッセージやイベント ログをアーカイブする SQL Server エージェント ジョブを作成する方法」を参照してください。

権限

sysadmin 固定サーバー ロールおよび DatabaseMailUserRole データベース ロールが与えられている必要があります。sysadmin 固定サーバー ロールのメンバとして実行した場合、このビューにはすべてのメッセージが表示されます。その他のユーザーの場合は、自分が送信したメッセージだけを確認できます。