다음을 통해 공유


sysmail_event_log(Transact-SQL)

적용 대상: SQL Server

데이터베이스 메일 시스템에서 반환된 각 Windows 또는 SQL Server 메시지에 대해 하나의 행을 포함합니다. (이 컨텍스트의 메시지는 전자 메일 메시지가 아니라 오류 메시지와 같은 메시지를 참조합니다.) 데이터베이스 메일 구성 마법사의 시스템 매개 변수 구성 대화 상자 또는 sysmail_configure_sp 저장 프로시저를 사용하여 로깅 수준 매개 변수를 구성하여 반환되는 메시지를 결정합니다.

열 이름 데이터 형식 설명
Log_id int 로그에 있는 항목의 식별자입니다.
event_type varchar(11) 로그에 삽입되는 알림 유형입니다. 가능한 값은 오류, 경고, 정보 메시지, 성공 메시지 및 추가 내부 메시지입니다.
log_date 날짜/시간 로그 항목이 만들어진 날짜 및 시간입니다.
description nvarchar(max) 기록되는 메시지의 텍스트입니다.
process_id int 데이터베이스 메일 외부 프로그램의 프로세스 ID입니다. 일반적으로 데이터베이스 메일 외부 프로그램이 시작될 때마다 변경됩니다.
mailitem_id int 메일 큐의 메일 항목 식별자입니다. 메시지가 특정 전자 메일 항목과 관련이 없는 경우 NULL입니다.
account_id int 이벤트와 관련된 계정의 account_id. 메시지가 계정과 관련이 없으면 NULL입니다.
last_mod_date 날짜/시간 행의 마지막 수정 날짜 및 시간입니다.
last_mod_user sysname 행을 마지막으로 수정한 사용자입니다. 전자 메일의 경우 메일을 보낸 사용자입니다. 데이터베이스 메일 외부 프로그램이 생성한 메시지의 경우 프로그램의 사용자 컨텍스트입니다.

설명

데이터베이스 메일 문제를 해결할 때 sysmail_event_log 보기에서 전자 메일 오류와 관련된 이벤트를 검색합니다. 데이터베이스 메일 외부 프로그램의 실패와 같은 일부 메시지는 특정 전자 메일과 연결되지 않습니다. 특정 전자 메일과 관련된 오류를 검색하려면 sysmail_faileditems 보기에서 실패한 전자 메일의 mailitem_id 조회한 다음 sysmail_event_log 해당 mailitem_id 관련된 메시지를 검색합니다. sp_send_dbmail 오류가 반환되면 전자 메일이 데이터베이스 메일 시스템에 제출되지 않고 이 보기에 오류가 표시되지 않습니다.

개별 계정 배달 시도가 실패하면 데이터베이스 메일 메일 항목 배달이 성공하거나 실패할 때까지 다시 시도하는 동안 오류 메시지를 보관합니다. 최종 성공의 경우 누적된 모든 오류는 account_id 포함하여 별도의 경고로 기록됩니다. 이에 따라 전자 메일이 보내진 경우에도 경고가 표시될 수 있습니다. 최종 배달 실패의 경우 모든 계정이 실패했기 때문에 모든 이전 경고가 account_id 없이 하나의 오류 메시지로 기록됩니다.

사용 권한

이 보기에 액세스하려면 sysadmin 고정 서버 역할 또는 DatabaseMailUserRole 데이터베이스 역할의 멤버여야 합니다. sysadmin 역할의 멤버가 아닌 DatabaseMailUserRole멤버는 제출하는 전자 메일에 대한 이벤트만 볼 수 있습니다.

참고 항목

sysmail_faileditems(Transact-SQL)
데이터베이스 메일 외부 프로그램