Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Vérifier le nombre d'éléments de courrier dans la file d'attente dans la messagerie de base de données dans SQL Server (T-SQL)

Dans SQL Server, vous pouvez utiliser le sysmail_help_queue_sp procédure stockée sur msdb base de données pour voir combien d'éléments de courrier sont dans la file d'attente, l'état de la file d'attente et quand elle a été activée pour la dernière fois.

Il existe deux types de file d'attente :la file d'attente de messagerie et la file d'attente d'état.

Vous pouvez également renvoyer des informations de compte en fonction du type de file d'attente.

Renvoyer tous les éléments de la file d'attente

Pour renvoyer tous les éléments de la file d'attente, exécutez simplement la procédure stockée sans aucun paramètre.

EXEC msdb.dbo.sysmail_help_queue_sp;

Résultat (en utilisant la sortie verticale) :

-[ RECORD 1 ]-------------------------
queue_type             | mail
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637
-[ RECORD 2 ]-------------------------
queue_type             | status
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637

J'ai répertorié les résultats en utilisant la sortie verticale afin que vous n'ayez pas à faire défiler latéralement pour voir toutes les colonnes.

Dans mon cas, il y a deux éléments de courrier dans la file d'attente, et donc deux lignes sont renvoyées.

Le last_empty_rowset_time La colonne fournit la date et l'heure auxquelles la file d'attente a été vide pour la dernière fois.

Le last_activated_time la colonne indique la date et l'heure de la dernière activation de la file d'attente.

Notez que le sysmail_help_queue_sp la procédure stockée est dans le msdb base de données et appartient à dbo schéma. Par conséquent, vous devrez utiliser un nom en trois parties si msdb n'est pas la base de données actuelle.

Filtrer par type de file d'attente

Comme mentionné, il existe deux types de file d'attente (courrier et statut). Vous pouvez également renvoyer des éléments en fonction de leur type de file d'attente.

Pour ce faire, fournissez le @queue_type paramètre et spécifiez le type de file d'attente souhaité.

Pour renvoyer tous les éléments du courrier file d'attente :

EXEC msdb.dbo.sysmail_help_queue_sp
    @queue_type = 'mail';

Résultat :

queue_type             | mail
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637

Pour renvoyer tous les éléments du statut file d'attente :

EXEC msdb.dbo.sysmail_help_queue_sp
    @queue_type = 'status';

Résultat :

queue_type             | status
length                 | 0
state                  | INACTIVE
last_empty_rowset_time | 2020-08-25 22:25:02.637
last_activated_time    | 2020-08-25 22:25:02.637