Khi bạn sử dụng Thư cơ sở dữ liệu để gửi email trong SQL Server, bạn có thể sử dụng sysmail_delete_log_sp
thủ tục được lưu trữ để xóa các mục khỏi nhật ký sự kiện.
Bạn có thể chọn xóa tất cả các sự kiện, sự kiện dựa trên ngày ghi của chúng (tức là trước một ngày nhất định) hoặc các sự kiện dựa trên loại sự kiện.
Xem tất cả sự kiện
Trước khi bắt đầu xóa bất kỳ sự kiện nào, bạn có thể muốn xem qua chúng. Bạn có thể thực hiện việc này với sysmail_event_log
xem.
SELECT * FROM msdb.dbo.sysmail_event_log;
Xóa sự kiện cũ
Để xóa tất cả các sự kiện đã được ghi lại trước một ngày nhất định, hãy sử dụng @logged_before
đối số.
Ví dụ:
EXECUTE msdb.dbo.sysmail_delete_log_sp
@logged_before = '2020-08-25';
Xóa các sự kiện thuộc một loại nhất định
Bạn có thể sử dụng @event_type
đối số để chỉ xóa các sự kiện của một loại nhất định.
Dưới đây là một ví dụ về việc xóa tất cả các sự kiện thông tin.
EXECUTE msdb.dbo.sysmail_delete_log_sp
@event_type = 'information';
Xóa tất cả sự kiện
Để xóa tất cả các sự kiện, hãy thực thi sysmail_delete_log_sp
không có bất kỳ đối số nào.
EXECUTE msdb.dbo.sysmail_delete_log_sp;
Xóa các mục trong thư
sysmail_delete_log_sp
thủ tục chỉ dành cho việc xóa các mục nhập khỏi nhật ký. Nó không xóa các mục thư khỏi bảng Cơ sở dữ liệu Thư.
Sử dụng sysmail_delete_mailitems_sp
để xóa các mục email khỏi bảng Thư cơ sở dữ liệu.