다음을 통해 공유


xp_deletemail(Transact-SQL)

MicrosoftSQL Server 받은 편지함에서 메시지를 삭제합니다. sp_processmail은 이 프로시저를 사용하여 SQL Server 받은 편지함에 있는 메일을 처리합니다.

[!참고]

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

xp_deletemail { 'message_id' }

인수

  • 'message_id'
    받은 편지함에서 삭제해야 할 메일 메시지의 소유 메시지 번호(xp_findnextmsg가 지정)입니다. message_id는 varchar(255)이며 기본값은 없습니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

xp_deletemail은 유효한 메시지 ID를 전달한 경우 메시지를 반환합니다.

주의

잘못된 매개 변수를 제외한 모든 오류는 Windows 응용 프로그램 로그에 기록됩니다.

xp_deletemail은 받은 편지함에서 메시지를 삭제하지만 파일 시스템에서 첨부 파일을 삭제하지는 않습니다. 첨부 파일은 직접 삭제해야 합니다. xp_readmail의 suppress_attach 매개 변수를 TRUE로 설정하면 첨부 파일의 생성을 방지할 수 있습니다. 첨부 파일의 보안 문제에 대한 자세한 내용은 xp_readmail(Transact-SQL)을 참조하십시오.

xp_deletemail은 삭제된 메시지 또는 메시지를 삭제한 사용자의 로그를 유지하지 않습니다. 따라서 여러 사용자에게 xp_deletemail 실행 권한이 있는 환경에서는 감사 문제가 발생할 수 있습니다. 이 문제를 최소화하려면 xp_deletemail 에 대한 권한을 sysadmin 고정 서버 역할의 멤버로 제한하십시오.

사용 권한

sysadmin 고정 서버 역할의 멤버 자격이 필요하지만 EXECUTE 권한은 다른 사용자에게도 부여할 수 있습니다. 그러나 보안상의 이유로 이 저장 프로시저의 사용 권한을 sysadmin 고정 서버 역할의 멤버로 제한하는 것이 좋습니다.

다음 예에서는 xp_findnextmsg에서 제공된 메시지 ID를 검색한 다음 해당 메시지 ID를 사용하여 메시지를 삭제합니다. xp_findnextmsg의 값은 지역 변수인 @message\_id에 배치됩니다.

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;