Partager via


sysmail_allitems (Transact-SQL)

Contient une ligne pour chaque message traité par la messagerie de base de données. Utilisez cette vue lorsque vous voulez voir l'état de tous les messages.

Pour voir uniquement les messages qui ont échoué ('failed'), utilisez sysmail_faileditems (Transact-SQL). Pour voir uniquement les messages qui n'ont pas encore été envoyés ('unsent'), utilisez sysmail_unsentitems (Transact-SQL). Pour voir uniquement les messages qui ont été envoyés ('sent'), utilisez sysmail_sentitems (Transact-SQL).

Nom de colonne

Type de données

Description

mailitem_id

int

Identificateur de l'élément de messagerie dans la file d'attente des messages.

profile_id

int

Identificateur du profil utilisé pour envoyer le message.

recipients

varchar(max)

Adresses de messagerie des destinataires du message.

copy_recipients

varchar(max)

Adresses de messagerie des personnes qui reçoivent une copie du message.

blind_copy_recipients

varchar(max)

Adresses de messagerie des personnes qui reçoivent une copie du message mais dont le nom n'apparaît pas dans l'en-tête du message.

subject

nvarchar(510)

Ligne d'objet du message.

body

varchar(max)

Corps du message.

body_format

varchar(20)

Format du corps du message. Les valeurs possibles sont TEXT et HTML.

importance

varchar(6)

Paramètre importance du message.

sensitivity

varchar(12)

Paramètre sensitivity du message.

file_attachments

varchar(max)

Liste des noms de fichiers joints au message électronique (délimitée par des points-virgules).

attachment_encoding

varchar(20)

Type de pièce jointe.

query

varchar(max)

Requête exécutée par le programme de messagerie.

execute_query_database

sysname

Contexte de base de données dans lequel le programme de messagerie a exécuté la requête.

attach_query_result_as_file

bit

Lorsque la valeur est 0, les résultats de la requête ont été inclus dans le corps du message électronique, après le contenu du corps. Lorsque la valeur est 1, les résultats ont été renvoyés sous forme de pièce jointe.

query_result_header

bit

Lorsque la valeur est 1, cela signifie que les résultats de la requête contenaient des en-têtes de colonne. Lorsque la valeur est 0, cela signifie que les résultats de la requête ne contenaient pas d'en-têtes de colonne.

query_result_width

int

Paramètre query_result_width du message.

query_result_separator

char(1)

Caractère utilisé pour séparer les colonnes dans la sortie de la requête.

exclude_query_output

bit

Paramètre exclude_query_output du message. Pour plus d'informations, consultez sp_send_dbmail (Transact-SQL).

append_query_error

bit

Paramètre append_query_error du message. La valeur 0 indique que la messagerie de base de données ne doit pas envoyer le message électronique s'il existe une erreur dans la requête.

send_request_date

datetime

Date et heure d'arrivée du message dans la file d'attente des messages.

send_request_user

sysname

Utilisateur qui a envoyé le message. Il s'agit du contexte utilisateur de la procédure de la messagerie de base de données, et non du champ De : du message.

sent_account_id

int

Identificateur du compte de messagerie de base de données utilisé pour envoyer le message.

sent_status

varchar(8)

État du message. Les valeurs possibles sont :

  • sent : le message a été envoyé.

  • unsent : la messagerie de base de données est toujours en train d'essayer d'envoyer le message.

  • retrying : la messagerie de base de données n'a pas réussi à envoyer le message, mais essaie à nouveau de l'envoyer.

  • failed : la messagerie de base de données n'a pas réussi à envoyer le message.

sent_date

datetime

Date et heure d'envoi du message.

last_mod_date

datetime

Date et heure de la dernière modification de la ligne.

last_mod_user

sysname

Dernier utilisateur qui a modifié la ligne.

Notes

Utilisez la vue sysmail_allitems pour voir l'état de tous les messages traités par la messagerie de base de données. En cas de dépannage de la messagerie de base de données, cette vue peut vous aider à identifier la nature du problème en vous permettant de comparer les attributs des messages qui ont été envoyés aux attributs des messages qui n'ont pas été envoyés.

Les tables système affichées dans cette vue contiennent tous les messages et peuvent faire augmenter la taille de la base de données msdb. Supprimez périodiquement les anciens messages de la vue afin de réduire la taille de ces tables. Pour plus d'informations, consultez Procédure : créer un travail d'Agent SQL Server pour archiver les messages et les journaux d'événements de la messagerie de base de données.

Autorisations

Accordées au rôle serveur fixe sysadmin et au rôle de base de données DatabaseMailUserRole. Lorsque cette vue est exécutée par un membre du rôle serveur fixe sysadmin, elle affiche tous les messages. Les autres utilisateurs voient uniquement les messages qu'ils ont essayé d'envoyer.