데이터베이스 메일

데이터베이스 메일은 SQL Server 데이터베이스 엔진에서 전자 메일 메시지를 보내는 엔터프라이즈 솔루션입니다. 데이터베이스 메일을 사용하여 데이터베이스 응용 프로그램에서 전자 메일 메시지를 사용자에게 보낼 수 있습니다. 메시지에는 쿼리 결과와 네트워크상의 리소스 파일이 포함될 수 있습니다. 데이터베이스 메일은 안정성, 확장성, 보안 및 지원 가능성을 고려하여 디자인되었습니다.

보안 정보보안 정보

데이터베이스 메일은 기본적으로 활성화되어 있지 않습니다. 데이터베이스 메일을 사용하려면 데이터베이스 메일 구성 마법사, sp_configure 저장 프로시저 또는 정책 기반 관리의 노출 영역 구성 패싯을 사용하여 데이터베이스 메일을 명시적으로 활성화해야 합니다.

안정성

  • Microsoft Outlook 또는 Extended MAPI(Extended Messaging Application Programming Interface)가 필요 없습니다. 데이터베이스 메일은 표준 SMTP(Simple Mail Transfer Protocol)를 사용하여 메일을 보냅니다. SQL Server를 실행하는 컴퓨터에 확장 MAPI 클라이언트를 설치하지 않고 데이터베이스 메일을 사용할 수 있습니다.

  • 프로세스 격리. SQL Server에 대한 영향을 최소화하기 위해 전자 메일을 배달하는 구성 요소는 SQL Server 외부에서 별도의 프로세스로 실행됩니다. SQL Server는 외부 프로세스가 중지되거나 실패한 경우에도 계속해서 전자 메일 메시지를 큐에 대기시킵니다. 지연된 메시지는 외부 프로세스 또는 SMTP 서버가 온라인 상태로 되면 전송됩니다.

  • 장애 조치(Failover) 계정. 데이터베이스 메일 프로필을 사용하면 SMTP 서버를 둘 이상 지정할 수 있습니다. 한쪽 SMTP 서버를 사용할 수 없는 경우 메일은 다른 SMTP 서버로 배달될 수 있습니다.

  • 클러스터 지원. 데이터베이스 메일은 클러스터를 인식하므로 클러스터에서 완벽하게 지원됩니다.

확장성

  • 백그라운드 배달. 데이터베이스 메일은 백그라운드 또는 비동기 배달을 제공합니다. sp_send_dbmail을 호출하여 메시지를 보낼 때 데이터베이스 메일은 요청을 Service Broker 큐에 추가합니다. 저장 프로시저가 즉시 반환됩니다. 외부 전자 메일 구성 요소는 요청을 받아 전자 메일을 배달합니다.

  • 여러 프로필. 데이터베이스 메일을 사용하여 SQL Server 인스턴스 내에 여러 프로필을 만들 수 있습니다. 필요에 따라 메시지를 보낼 때 데이터베이스 메일이 사용하는 프로필을 선택할 수 있습니다.

  • 여러 계정. 각 프로필에는 여러 개의 장애 조치 계정이 있을 수 있습니다. 여러 개의 전자 메일 서버를 통해 전자 메일을 배포할 때 서로 다른 계정으로 다양한 프로필을 구성할 수 있습니다.

  • 64비트 호환성. SQL Server 64비트를 설치하면 데이터베이스 메일이 완전하게 지원됩니다.

보안

  • 기본적으로 해제. SQL Server의 노출 영역을 줄이기 위해 데이터베이스 메일 저장 프로시저는 기본적으로 사용할 수 없도록 설정되어 있습니다.

  • 데이터베이스 메일을 보내려면 msdb 데이터베이스에서 DatabaseMailUserRole 데이터베이스 역할의 멤버여야 합니다.

  • 프로필 보안. 데이터베이스 메일은 메일 프로필에 대해 보안을 강제 적용합니다. 데이터베이스 메일 프로필에 액세스할 수 있는 msdb 데이터베이스 사용자나 그룹을 선택합니다. msdb의 특정 사용자나 모든 사용자에게 액세스 권한을 부여할 수 있습니다. 개인 프로필은 지정된 목록의 사용자만 액세스할 수 있도록 제한되어 있습니다. 공개 프로필은 데이터베이스의 모든 사용자가 사용할 수 있습니다.

  • 첨부 파일 크기 관리자. 데이터베이스 메일은 첨부 파일 크기에 대해 구성 가능한 제한을 강제 적용합니다. sysmail_configure_sp 저장 프로시저를 사용하여 이 제한을 변경할 수 있습니다.

  • 금지할 파일 확장명. 데이터베이스 메일은 금지할 파일 확장명 목록을 유지 관리합니다. 사용자는 목록에 표시된 확장명의 파일을 첨부할 수 없습니다. sysmail_configure_sp를 사용하여 목록을 변경할 수 있습니다.

  • SQL Server 엔진 서비스 계정에서 데이터베이스 메일이 실행됩니다. 폴더에 있는 파일을 전자 메일에 첨부하려면 SQL Server 엔진 계정에 해당 파일이 있는 폴더에 액세스할 수 있는 권한이 있어야 합니다.

지원 가능성

  • 통합된 구성. 데이터베이스 메일은 SQL Server 데이터베이스 엔진 내에 전자 메일 계정에 대한 정보를 유지 관리합니다. 외부 클라이언트 응용 프로그램에서 메일 프로필을 관리할 필요가 없습니다. 데이터베이스 메일 구성 마법사는 데이터베이스 메일을 구성할 수 있는 편리한 인터페이스를 제공합니다. 또한 Transact-SQL을 사용하여 데이터베이스 메일 구성을 생성하고 유지 관리할 수 있습니다.

  • 로깅. 데이터베이스 메일은 SQL Server, Microsoft Windows 응용 프로그램 이벤트 로그 및 msdb 데이터베이스의 테이블에 전자 메일 작업을 기록합니다.

  • 감사. 데이터베이스 메일은 msdb 데이터베이스에 보낸 메시지와 첨부 파일의 복사본을 보존합니다. 데이터베이스 메일 사용을 쉽게 감사하고 보존된 메시지를 검토할 수 있습니다.

  • HTML 지원. 데이터베이스 메일을 사용하면 HTML 형식의 전자 메일 메시지를 보낼 수 있습니다.

데이터베이스 메일은 SQL 메일에 대해 가장 자주 요청되는 기능을 대체할 수 있는 강력하고 성능이 우수한 기능을 제공합니다. 데이터베이스 메일은 SMTP 서버에서 작동되도록 디자인되어 있고 Microsoft SMTP 서버에서 테스트되었습니다. 저장 프로시저를 SQL 메일에서 데이터베이스 메일로 변환하는 방법은 방법: SQL 메일에서 데이터베이스 메일로 저장 프로시저 변환(Transact-SQL)을 참조하십시오.

[!참고]

SQL Server Express에서는 데이터베이스 메일을 사용할 수 없습니다.