sysmail_allitems (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
データベース メールで処理されたメッセージごとに 1 行のデータを格納します。 すべてのメッセージの状態を表示する場合は、このビューを使用します。
失敗した状態のメッセージのみを表示するには、 sysmail_faileditemsを使用します。 未送信のメッセージのみを表示するには、 sysmail_unsentitemsを使用します。 送信されたメッセージのみを表示するには、 sysmail_sentitemsを使用します。
列名 | データ型 | 説明 |
---|---|---|
mailitem_id |
int | メール キュー内のメール アイテムの識別子。 |
profile_id |
int | メッセージの送信に使用されるプロファイルの識別子。 |
recipients |
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) | メッセージの 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」を参照してください。 |
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 - データベース メールがメッセージを送信しようとしています。retrying - データベース メールメッセージを送信できませんでしたが、もう一度送信しようとしています。failed - データベース メールでメッセージを送信できませんでした。 |
sent_date |
datetime | メッセージが送信された日時。 |
last_mod_date |
datetime | 行の最後の変更の日時。 |
last_mod_user |
sysname | 行を最後に変更したユーザー。 |
解説
sysmail_allitems
ビューを使用して、データベース メールによって処理されたすべてのメッセージの状態を確認します。 このビューは、送信されたメッセージの属性と送信されなかったメッセージの属性を表示することで、問題の性質を特定するのに役立ちます。
このビューによって公開されるシステム テーブルには、すべてのメッセージが含まれており、 msdb
データベースが拡大する可能性があります。 古いメッセージをビューから定期的に削除して、テーブルのサイズを小さくします。 詳細については、「メッセージとイベント ログをアーカイブするSQL Server エージェント ジョブデータベース メール作成するを参照してください。
アクセス許可
sysadmin固定サーバー ロールと DatabaseMailUserRole データベース ロールに付与されます。 sysadmin固定サーバー ロールのメンバーによって実行されると、このビューにはすべてのメッセージが表示されます。 他のすべてのユーザーには、送信したメッセージのみが表示されます。