In SQL Server kunt u de sysmail_help_queue_sp
opgeslagen procedure op de msdb
database om te zien hoeveel e-mailitems zich in de wachtrij bevinden, de status van de wachtrij en wanneer deze voor het laatst is geactiveerd.
Er zijn twee soorten wachtrijen:de e-mailwachtrij en de statuswachtrij.
Je kunt ook accountgegevens retourneren op basis van het wachtrijtype.
Alle items in de wachtrij retourneren
Om alle items uit de wachtrij terug te halen, voert u gewoon de opgeslagen procedure uit zonder parameters.
EXEC msdb.dbo.sysmail_help_queue_sp;
Resultaat (met verticale uitvoer):
-[ 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
Ik heb de resultaten weergegeven met verticale uitvoer, zodat u niet zijwaarts hoeft te scrollen om alle kolommen te zien.
In mijn geval staan er twee e-mailitems in de wachtrij en worden er dus twee rijen geretourneerd.
De last_empty_rowset_time
kolom geeft de datum en tijd weer waarop de wachtrij voor het laatst leeg was.
De last_activated_time
kolom geeft de datum en tijd weer waarop de wachtrij voor het laatst is geactiveerd.
Merk op dat de sysmail_help_queue_sp
opgeslagen procedure staat in de msdb
database en is eigendom van de dbo
schema. Daarom moet u een driedelige naamgeving gebruiken als msdb
is niet de huidige database.
Filteren op wachtrijtype
Zoals vermeld, zijn er twee soorten wachtrijen (e-mail en status). Je kunt items ook retourneren op basis van hun wachtrijtype.
Geef hiervoor de @queue_type
. op parameter en specificeer uw gewenste wachtrijtype.
Om alle items uit de mail te retourneren wachtrij:
EXEC msdb.dbo.sysmail_help_queue_sp
@queue_type = 'mail';
Resultaat:
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
Om alle items van de status te retourneren wachtrij:
EXEC msdb.dbo.sysmail_help_queue_sp
@queue_type = 'status';
Resultaat:
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