sysmail_delete_log_sp (Transact-SQL)
从数据库邮件日志中删除事件。删除日志中的所有事件或删除符合某一日期或类型条件的那些事件。
语法
sysmail_delete_log_sp [ [ @logged_before = ] 'logged_before' ]
[, [ @event_type = ] 'event_type' ]
参数
- [ @logged_before = ] 'logged_before'
删除 logged_before 参数指定的日期和时间之前的项。logged_before 的数据类型为 datetime,默认值为 NULL。NULL 指示所有日期。
- [ @event_type = ] 'event_type'
删除作为 event_type 指定的类型的日志项。event_type 的数据类型为 varchar(15),无默认值。有效项为 success、warning、error 和 informational。NULL 指示所有事件类型。
返回代码值
0(成功)或 1(失败)
备注
使用 sysmail_delete_log_sp 存储过程可从数据库邮件日志中永久删除项。某个可选参数通过提供日期和时间,允许您仅删除较早的记录。早于该参数的事件将被删除。某个可选参数允许您仅删除作为 event_type 参数指定的特定类型的事件。
删除数据库邮件日志中的项不会从数据库邮件表中删除电子邮件项。使用 sysmail_delete_mailitems_sp 可从数据库邮件表中删除电子邮件。
权限
只有 sysadmin 固定服务器角色的成员才能访问此过程。
示例
A. 删除所有事件
以下示例删除数据库邮件日志中的所有事件。
EXECUTE msdb.dbo.sysmail_delete_log_sp ;
GO
B. 删除最早的事件
以下示例删除数据库邮件日志中 2005 年 10 月 9 日之前的事件。
EXECUTE msdb.dbo.sysmail_delete_log_sp
@logged_before = 'October 9, 2005' ;
GO
C. 删除特定类型的所有事件
以下示例删除数据库邮件日志中的成功消息。
EXECUTE msdb.dbo.sysmail_delete_log_sp
@event_type = 'success' ;
GO
请参阅
参考
sysmail_event_log (Transact-SQL)
sysmail_delete_mailitems_sp (Transact-SQL)
其他资源
对数据库邮件进行故障排除
如何创建 SQL Server 代理作业以存档数据库邮件和事件日志