Compartir a través de


sysmail_delete_log_sp (Transact-SQL)

Se aplica a: SQL Server

Elimina eventos del registro del Correo electrónico de base de datos. Elimina todos los eventos del registro o los que cumplen criterios de fecha o tipo.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sysmail_delete_log_sp [ [ @logged_before = ] 'logged_before' ]
    [ , [ @event_type = ] 'event_type' ]
[ ; ]

Argumentos

[ @logged_before = ] 'logged_before'

Elimina las entradas hasta la fecha y hora especificadas por el argumento @logged_before . @logged_before es datetime con NULL el valor predeterminado. NULL indica todas las fechas.

[ @event_type = ] 'event_type'

Elimina las entradas de registro del tipo especificado como el @event_type. @event_type es varchar(15) sin valor predeterminado. Las entradas válidas son:

  • success
  • warning
  • error
  • informational

NULL indica todos los tipos de evento.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

Use el sysmail_delete_log_sp procedimiento almacenado para eliminar permanentemente las entradas del registro de Correo electrónico de base de datos. Un argumento opcional permite eliminar solo los registros antiguos indicando la fecha y la hora. Se eliminarán los eventos anteriores a ese argumento. Un argumento opcional permite eliminar solo eventos de un tipo determinado, especificado como argumento @event_type .

La eliminación de entradas en el registro de Correo electrónico de base de datos no elimina las entradas de correo electrónico de las tablas de Correo electrónico de base de datos. Use sysmail_delete_mailitems_sp para eliminar el correo electrónico de las tablas de Correo electrónico de base de datos.

Permisos

Puede conceder EXECUTE permisos en este procedimiento, pero estos permisos se pueden invalidar durante una actualización de SQL Server.

Ejemplos

A Eliminar todos los eventos

En el ejemplo siguiente se eliminan todos los eventos del registro del Correo electrónico de base de datos.

EXEC msdb.dbo.sysmail_delete_log_sp;
GO

B. Eliminación de los eventos más antiguos

En el ejemplo siguiente se eliminan los eventos del registro de Correo electrónico de base de datos anteriores al 9 de octubre de 2022.

EXEC msdb.dbo.sysmail_delete_log_sp
    @logged_before = 'October 9, 2022';
GO

C. Eliminar todos los eventos de un tipo determinado

En el ejemplo siguiente se eliminan los mensajes de operación correcta del registro del Correo electrónico de base de datos.

EXEC msdb.dbo.sysmail_delete_log_sp
    @event_type = 'success' ;
GO