共用方式為


sysmail_allitems (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

針對 Database Mail 處理的每個訊息,各包含一個資料列。 當您想要查看所有訊息的狀態時,請使用此檢視。

若要查看只有狀態失敗的訊息,請使用 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) 郵件的主旨行。
身體 varchar(max) 訊息的本文。
body_format Varchar(20) 訊息的本文格式。 可能的值為 TEXT 和 HTML。
重要性 Varchar(6) 訊息的重要性 參數。
靈敏度 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 表示 Database Mail 在查詢中發生錯誤時,不應該傳送電子郵件訊息。
send_request_date datetime 郵件放在郵件佇列上的日期和時間。
send_request_user sysname 提交郵件的使用者。 這是資料庫郵件程式的使用者內容,而不是郵件的 From: 欄位。
sent_account_id int 用來傳送訊息之 Database Mail 帳戶的識別碼。
sent_status Varchar(8) 郵件的狀態。 可能的值包括:

sent - 郵件已傳送。

unsent - 資料庫郵件仍在嘗試傳送訊息。

重試 - Database Mail 無法傳送訊息,但嘗試再次傳送。

failed - Database mail 無法傳送訊息。
sent_date datetime 訊息傳送的日期和時間。
last_mod_date datetime 資料列上次修改的日期和時間。
last_mod_user sysname 上次修改資料列的使用者。

備註

使用sysmail_allitems 檢視來查看 Database Mail 處理的所有訊息狀態。 針對 Database Mail 進行疑難排解時,此檢視可協助您識別問題的本質,方法是顯示與未傳送之訊息屬性相比所傳送之訊息的屬性。

此檢視公開的系統資料表包含所有訊息,並可能導致 msdb 資料庫成長。 定期刪除檢視中的舊訊息,以減少資料表的大小。 如需詳細資訊,請參閱 建立 SQL Server Agent 作業以封存 Database Mail 訊息和事件記錄 檔。

權限

授與 系統管理員 固定伺服器角色和 DatabaseMailUserRole 資料庫角色。 由系統管理員 固定伺服器角色的成員 執行時,此檢視會顯示所有訊息。 所有其他使用者只會看到他們提交的訊息。