sysmail_event_log(Transact-SQL)
데이터베이스 메일 시스템이 반환한 각 Windows 또는 SQL Server 메시지당 한 개의 행을 포함합니다. 여기서 메시지란 전자 메일 메시지가 아닌 오류 메시지와 같은 메시지를 의미합니다. 데이터베이스 메일 구성 마법사의 시스템 매개 변수 구성 대화 상자나 sysmail_configure_sp 저장 프로시저를 통해 로깅 수준 매개 변수를 구성하여 반환할 메시지를 결정할 수 있습니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
Log_id |
int |
로그의 항목 식별자입니다. |
event_type |
varchar(11) |
로그에 삽입되는 알림 유형입니다. 가능한 값은 오류, 경고, 정보 메시지, 성공 메시지 및 추가 내부 메시지입니다. |
log_date |
datetime |
로그 항목이 만들어진 날짜와 시간입니다. |
description |
nvarchar(max) |
기록할 메시지 텍스트입니다. |
process_id |
int |
데이터베이스 메일 외부 프로그램의 프로세스 ID입니다. 이 값은 일반적으로 데이터베이스 메일 외부 프로그램이 시작될 때마다 변경됩니다. |
mailitem_id |
int |
메일 큐의 메일 항목 식별자입니다. 메시지가 특정 전자 메일 항목과 관련이 없으면 NULL입니다. |
account_id |
int |
이벤트와 관련된 계정의 account_id입니다. 메시지가 계정과 관련이 없으면 NULL입니다. |
last_mod_date |
datetime |
행을 마지막으로 수정한 날짜와 시간입니다. |
last_mod_user |
sysname |
행을 마지막으로 수정한 사용자입니다. 전자 메일의 경우 메일을 보낸 사용자입니다. 데이터베이스 메일 외부 프로그램이 생성한 메시지의 경우 프로그램의 사용자 컨텍스트입니다. |
주의
데이터베이스 메일 문제를 해결할 때는 전자 메일 실패와 관련된 이벤트에 대한 sysmail_event_log 뷰를 검색합니다. 데이터베이스 메일 외부 프로그램 실패와 같은 일부 메시지는 특정 전자 메일과 연결되지 않습니다. 특정 전자 메일에 관련된 오류를 검색하려면 sysmail_faileditems 뷰에서 실패한 전자 메일의 mailitem_id를 찾은 다음 해당 mailitem_id와 관련된 메시지에 대한 sysmail_event_log를 검색합니다. sp_send_dbmail에서 오류를 반환하면 전자 메일은 데이터베이스 메일 시스템으로 제출되지 않으며 이 뷰에 오류가 표시되지 않습니다.
각각의 계정 배달 시도가 실패하면 데이터베이스 메일은 메일 항목 배달이 성공하거나 실패할 때까지 다시 시도하는 동안 오류 메시지를 유지합니다. 최종적으로 성공한 경우 누적된 모든 오류는 account_id를 포함하는 별도의 경고 메시지로 로깅됩니다. 이에 따라 전자 메일이 보내진 경우에도 경고가 표시될 수 있습니다. 최종적으로 배달이 실패하면 모든 계정이 실패한 것이므로 모든 이전 경고는 account_id가 없는 하나의 오류 메시지로 로깅됩니다.
사용 권한
이 뷰에 액세스하려면 sysadmin 고정 서버 역할 또는 DatabaseMailUserRole 데이터베이스 역할의 멤버여야 합니다. sysadmin 역할의 멤버가 아닌 DatabaseMailUserRole 역할의 멤버는 자신이 제출한 전자 메일에 대한 이벤트만 볼 수 있습니다.