Bagikan melalui


sysmail_delete_log_sp (T-SQL)

Berlaku untuk: SQL Server

Menghapus peristiwa dari log Email Database. Menghapus semua peristiwa dalam log atau peristiwa tersebut yang memenuhi kriteria tanggal atau tipe.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @logged_before = ] 'logged_before'

Menghapus entri hingga tanggal dan waktu yang ditentukan oleh argumen @logged_before . @logged_before adalah datetime dengan NULL sebagai default. NULL menunjukkan semua tanggal.

[ @event_type = ] 'event_type'

Menghapus entri log dari tipe yang ditentukan sebagai @event_type. @event_type adalah varchar(15) tanpa default. Entri yang valid adalah:

  • success
  • warning
  • error
  • informational

NULL menunjukkan semua jenis peristiwa.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

Gunakan prosedur tersimpan sysmail_delete_log_sp untuk menghapus entri secara permanen dari log Email Database. Argumen opsional memungkinkan Anda menghapus hanya rekaman lama dengan memberikan tanggal dan waktu. Peristiwa yang lebih lama dari argumen tersebut akan dihapus. Argumen opsional memungkinkan Anda hanya menghapus peristiwa dari jenis tertentu, yang ditentukan sebagai argumen @event_type .

Menghapus entri dalam log Email Database tidak menghapus entri email dari tabel Email Database. Gunakan sysmail_delete_mailitems_sp untuk menghapus email dari tabel Email Database.

Izin

Prosedur tersimpan ini dimiliki oleh peran db_owner . Anda dapat memberikan EXECUTE izin untuk pengguna mana pun, tetapi izin ini dapat ditimpa selama peningkatan SQL Server.

Contoh

J. Menghapus semua peristiwa

Contoh berikut menghapus semua peristiwa di log Email Database.

EXEC msdb.dbo.sysmail_delete_log_sp;
GO

B. Menghapus peristiwa terlama

Contoh berikut menghapus peristiwa di log Email Database yang lebih lama dari 9 Oktober 2022.

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

C. Menghapus semua peristiwa dari jenis tertentu

Contoh berikut menghapus pesan keberhasilan di log Email Database.

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