Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xóa sự kiện khỏi Cơ sở dữ liệu Thư đăng nhập trong SQL Server (T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ảnh chụp nhanh cơ sở dữ liệu SQL Server -3

  2. SQL Server:thả bảng xếp tầng tương đương?

  3. Cách SET ROWCOUNT hoạt động trong SQL Server

  4. @@ ROWCOUNT - Nhận số lượng hàng bị ảnh hưởng bởi câu lệnh cuối cùng trong SQL Server

  5. nối cột dữ liệu được phân tách bằng dấu phẩy