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 고정 서버 역할의 멤버만 이 프로시저에 액세스할 수 있습니다.
예
1. 모든 이벤트 삭제
다음 예에서는 데이터베이스 메일 로그의 모든 이벤트를 삭제합니다.
EXECUTE msdb.dbo.sysmail_delete_log_sp ;
GO
2. 오래된 이벤트 삭제
다음 예에서는 데이터베이스 메일 로그에서 2005년 10월 9일 이전의 이벤트를 삭제합니다.
EXECUTE msdb.dbo.sysmail_delete_log_sp
@logged_before = 'October 9, 2005' ;
GO
3. 특정 유형의 모든 이벤트 삭제
다음 예에서는 데이터베이스 메일 로그의 성공 메시지를 삭제합니다.
EXECUTE msdb.dbo.sysmail_delete_log_sp
@event_type = 'success' ;
GO
참고 항목
참조
sysmail_event_log(Transact-SQL)
sysmail_delete_mailitems_sp(Transact-SQL)
관련 자료
데이터베이스 메일 문제 해결
방법: 데이터베이스 메일 메시지 및 이벤트 로그 보관을 처리하는 SQL Server 에이전트 작업 만들기