Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Controlla quanti elementi di posta ci sono nella coda in Posta elettronica database in SQL Server (T-SQL)

In SQL Server puoi usare sysmail_help_queue_sp stored procedure su msdb database per vedere quanti elementi di posta sono in coda, lo stato della coda e quando è stata attivata l'ultima volta.

Esistono due tipi di coda:la coda di posta e la coda di stato.

Puoi anche restituire le informazioni sull'account in base al tipo di coda.

Restituisci tutti gli elementi nella coda

Per restituire tutti gli elementi dalla coda è sufficiente eseguire la procedura memorizzata senza alcun parametro.

EXEC msdb.dbo.sysmail_help_queue_sp;

Risultato (usando l'output 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

Ho elencato i risultati utilizzando l'output verticale in modo da non dover scorrere lateralmente per vedere tutte le colonne.

Nel mio caso, ci sono due elementi di posta in coda, quindi vengono restituite due righe.

Il last_empty_rowset_time la colonna fornisce la data e l'ora in cui la coda è stata vuota per l'ultima volta.

Il last_activated_time la colonna fornisce la data e l'ora dell'ultima attivazione della coda.

Nota che il sysmail_help_queue_sp la procedura memorizzata si trova in msdb database ed è di proprietà di dbo schema. Pertanto, dovrai utilizzare la denominazione in tre parti se msdb non è il database corrente.

Filtra per tipo di coda

Come accennato, ci sono due tipi di coda (posta e stato). Puoi anche restituire gli articoli in base al tipo di coda.

Per fare ciò, fornisci il @queue_type parametro e specifica il tipo di coda desiderato.

Per restituire tutti gli articoli dalla posta coda:

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

Risultato:

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

Per restituire tutti gli articoli dallo stato coda:

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

Risultato:

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