다음을 통해 공유


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 역할의 멤버는 자신이 제출한 전자 메일에 대한 이벤트만 볼 수 있습니다.