No SQL Server, você pode usar o
sysmail_help_queue_sp
procedimento armazenado no msdb
banco de dados para ver quantos itens de correio estão na fila, o status da fila e quando foi ativado pela última vez. Existem dois tipos de fila:a fila de correio e a fila de status.
Você também pode retornar informações da conta com base no tipo de fila.
Retornar todos os itens na fila
Para retornar todos os itens da fila, basta executar o procedimento armazenado sem nenhum parâmetro.
EXEC msdb.dbo.sysmail_help_queue_sp;
Resultado (usando saída vertical):
-[ 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
Listei os resultados usando a saída vertical para que você não precise rolar para os lados para ver todas as colunas.
No meu caso, há dois itens de correio na fila e, portanto, duas linhas são retornadas.
O
last_empty_rowset_time
A coluna fornece a data e hora em que a fila esteve vazia pela última vez. O
last_activated_time
coluna fornece a data e hora em que a fila foi ativada pela última vez. Observe que o
sysmail_help_queue_sp
procedimento armazenado está no msdb
banco de dados e é de propriedade do dbo
esquema. Portanto, você precisará usar a nomenclatura de três partes se msdb
não é o banco de dados atual. Filtrar por tipo de fila
Conforme mencionado, existem dois tipos de filas (correio e status). Você também pode devolver itens com base em seu tipo de fila.
Para fazer isso, forneça o
@queue_type
parâmetro e especifique o tipo de fila desejado. Para devolver todos os itens do mail fila:
EXEC msdb.dbo.sysmail_help_queue_sp
@queue_type = 'mail';
Resultado:
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
Para retornar todos os itens do status fila:
EXEC msdb.dbo.sysmail_help_queue_sp
@queue_type = 'status';
Resultado:
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