sql >> Base de Datos >  >> RDS >> Sqlserver

Verifique cuántos elementos de correo hay en la cola en el correo de la base de datos en SQL Server (T-SQL)

En SQL Server, puede usar el sysmail_help_queue_sp procedimiento almacenado en msdb base de datos para ver cuántos elementos de correo hay en la cola, el estado de la cola y cuándo se activó por última vez.

Hay dos tipos de cola:la cola de correo y la cola de estado.

También puede devolver información de la cuenta según el tipo de cola.

Devolver todos los elementos de la cola

Para devolver todos los elementos de la cola, simplemente ejecute el procedimiento almacenado sin ningún parámetro.

EXEC msdb.dbo.sysmail_help_queue_sp;

Resultado (usando salida 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

He enumerado los resultados utilizando la salida vertical para que no tenga que desplazarse hacia los lados para ver todas las columnas.

En mi caso, hay dos elementos de correo en la cola, por lo que se devuelven dos filas.

El last_empty_rowset_time La columna proporciona la fecha y la hora en que la cola estuvo vacía por última vez.

El last_activated_time La columna proporciona la fecha y la hora en que se activó la cola por última vez.

Tenga en cuenta que sysmail_help_queue_sp el procedimiento almacenado está en msdb base de datos y es propiedad de dbo esquema. Por lo tanto, deberá usar nombres de tres partes si msdb no es la base de datos actual.

Filtrar por tipo de cola

Como se mencionó, hay dos tipos de cola (correo y estado). También puede devolver elementos en función de su tipo de cola.

Para hacer esto, proporcione el @queue_type parámetro y especifique el tipo de cola deseado.

Para devolver todos los artículos del correo cola:

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 devolver todos los elementos del estado cola:

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