데이터베이스 메일 구성 개체Database Mail Configuration Objects

데이터베이스 메일에는 두 가지 구성 개체가 있습니다. 데이터베이스 구성 개체를 사용하면 데이터베이스 응용 프로그램 또는 SQL ServerSQL Server 에이전트에서 전자 메일을 보낼 때 데이터베이스 모델에서 사용할 설정을 구성할 수 있습니다.Database Mail has two configuration objects: The database configuration objects provide a way for you to configure the settings that Database mail should use when sending an email from your database application or SQL ServerSQL Server Agent.

  • 데이터베이스 메일 계정Database Mail accounts

  • 데이터베이스 메일 프로필Database Mail profiles

데이터베이스 메일 구성 개체 관계 Database Mail Configuration Object Relationship

위 그림에서는 2개의 프로필, 3개의 계정 및 3명의 사용자를 보여 줍니다.The illustration shows two profiles, three accounts, and three users. 사용자 1은 프로필 1에 대한 액세스 권한이 있고, 이 프로필은 계정 1과 계정 2를 사용합니다.User 1 has access to Profile 1, which uses Account 1 and Account 2. 사용자 3은 프로필 2에 대한 액세스 권한이 있고, 이 프로필은 계정 2와 계정 3을 사용합니다.User 3 has access to Profile 2, which uses Account 2 and Account 3. 사용자 2는 프로필 1과 프로필 2에 대한 액세스 권한이 있습니다.User 2 has access to both Profile 1 and Profile 2.

사용자, 프로필 및 계정 관계Relationship of users, profiles, and accounts

데이터베이스 메일 계정 Database Mail Account

데이터베이스 메일 계정에는 Microsoft SQL ServerSQL Server 에서 전자 메일 메시지를 SMTP 서버로 보내기 위해 사용하는 정보가 포함되어 있습니다.A Database Mail account contains the information that Microsoft SQL ServerSQL Server uses to send e-mail messages to an SMTP server. 각 계정에는 하나의 전자 메일 서버에 대한 정보가 포함되어 있습니다.Each account contains information for one e-mail server.

데이터베이스 메일은 SMTP 서버와 통신하는 다음 3가지 인증 방법을 지원합니다.A Database Mail supports three methods of authentication to communicate with an SMTP server:

  • Windows 인증: 데이터베이스 메일은 SQL Server 데이터베이스 엔진SQL Server Database Engine Windows 서비스 계정의 자격 증명을 SMTP 서버 인증에 사용합니다.Windows Authentication: Database Mail uses the credentials of the SQL Server 데이터베이스 엔진SQL Server Database Engine Windows service account for authentication on the SMTP server.

  • 기본 인증: 데이터베이스 메일은 SMTP 서버 인증에 지정된 사용자 이름과 암호를 사용합니다.Basic Authentication: Database Mail uses the username and password specified to authenticate on the SMTP server.

  • 익명 인증: SMTP 서버에 인증이 필요하지 않습니다.Anonymous Authentication: The SMTP server does not require any authentication. 데이터베이스 메일은 SMTP 서버 인증에 자격 증명을 사용하지 않습니다.Database Mail will not use any credentials to authenticate on the SMTP server.

    계정 정보는 msdb 데이터베이스에 저장됩니다.Account information is stored in the msdb database. 각 계정은 다음 정보로 구성됩니다.Each account consists of the following information:

  • 계정 이름입니다.The name of the account.

  • 계정에 대한 설명A description of the account.

  • 운영자의 전자 메일 주소The e-mail address of the account.

  • 계정의 표시 이름입니다.The display name for the account.

  • 계정에 대한 회신 정보로 사용하는 전자 메일 주소The e-mail address to use as the reply-to information for the account.

  • 전자 메일 서버의 이름The name of the e-mail server.

  • 전자 메일 서버의 유형.The type of the e-mail server. MicrosoftMicrosoft SQL ServerSQL Server의 경우 이는 항상 SMTP(Simple Mail Transfer Protocol)입니다.For MicrosoftMicrosoft SQL ServerSQL Server, this is always Simple Mail Transfer Protocol(SMTP).

  • 전자 메일 서버의 포트 번호The port number of the e-mail server.

  • SSL(Secure Sockets Layer)을 사용하여 SMTP 메일 서버에 연결하는지 여부를 나타내는 bit 열A bit column indicating whether the connection to the SMTP mail server is made using Secure Sockets Layer (SSL).

  • SQL Server 데이터베이스 엔진SQL Server Database Engine에 대해 구성된 자격 증명을 사용하여 SMTP 서버에 연결하는지 여부를 나타내는 bit 열A bit column indicating whether the connection to the SMTP server is made using the credentials configured for the SQL Server 데이터베이스 엔진SQL Server Database Engine.

  • 전자 메일 서버에 인증이 필요한 경우 전자 메일 서버에 대한 인증에 사용하는 사용자 이름The user name to use for authentication to the e-mail server, if the e-mail server requires authentication.

  • 전자 메일 서버에 인증이 필요한 경우 전자 메일 서버에 대한 인증에 사용하는 암호The password to use for authentication to the e-mail server, if the e-mail server requires authentication.

    데이터베이스 메일 구성 마법사를 사용하면 편리하게 계정을 만들고 관리할 수 있습니다.The Database Mail Configuration Wizard provides a convenient way to create and manage accounts. 또한 msdb 의 구성 저장 프로시저를 사용하여 계정을 만들고 관리할 수도 있습니다.You can also use the configuration stored procedures in msdb to create and manage accounts.

데이터베이스 메일 프로필 Database Mail Profile

데이터베이스 메일 프로필은 관련 데이터베이스 메일 계정을 정렬하여 모아 놓은 것입니다.A Database Mail profile is an ordered collection of related Database Mail accounts. 데이터베이스 메일을 사용하여 전자 메일을 보내는 응용 프로그램은 계정을 직접 사용하는 대신 프로필을 지정합니다.Applications that send e-mail using Database Mail specify profiles, instead of using accounts directly. 응용 프로그램에서 사용하는 개체와 개별 전자 메일 서버에 대한 정보를 분리하면 유연성과 안정성을 향상시킬 수 있습니다. 프로필은 자동 장애 조치(failover)를 제공하기 때문에 하나의 전자 메일 서버가 응답하지 않아도 데이터베이스 메일이 다른 전자 메일 서버로 메일을 보낼 수 있습니다.Separating information about the individual e-mail servers from the objects that the application uses improves flexibility and reliability: profiles provide automatic failover, so that if one e-mail server is unresponsive, Database Mail can automatically send mail to another e-mail server. 데이터베이스 관리자는 응용 프로그램 코드나 작업 단계를 변경할 필요 없이 계정을 추가, 제거 또는 다시 구성할 수 있습니다.Database administrators can add, remove, or reconfigure accounts without requiring changes to application code or job steps.

또한 프로필을 사용하면 데이터베이스 관리자가 전자 메일 액세스를 제어할 수 있습니다.Profiles also help database administrators control access to e-mail. 데이터베이스 메일을 보내려면 DatabaseMailUserRole 의 멤버 자격이 필요합니다.Membership in the DatabaseMailUserRole is required to send Database Mail. 프로필이 있으면 관리자는 메일을 보내는 사람과 사용되는 계정을 유연하게 제어할 수 있습니다.Profiles provide additional flexibility for administrators to control who sends mail and which accounts are used.

프로필은 공개 또는 개인 프로필일 수 있습니다.A profile may be public or private.

공개 프로필msdb 데이터베이스에 있는 DatabaseMailUserRole 데이터베이스 역할의 모든 멤버에 대해 사용할 수 있습니다.Public profiles are available for all members of the DatabaseMailUserRole database role in the msdb database. 공개 프로필이 있으면 DatabaseMailUserRole 역할의 모든 멤버는 해당 프로필을 사용하여 메일을 보낼 수 있습니다.They allow all members of the DatabaseMailUserRole role to send e-mail using the profile.

개인 프로필msdb 데이터베이스의 보안 주체에 대해 정의됩니다.Private profiles are defined for security principals in the msdb database. 지정된 데이터베이스 사용자, 역할 및 sysadmin 고정 서버 역할의 멤버만 개인 프로필을 사용하여 메일을 보낼 수 있습니다.They allow only specified database users, roles, and members of the sysadmin fixed server role to send e-mail using the profile. 기본적으로 프로필은 개인 프로필이며 sysadmin 고정 서버 역할의 멤버에게만 액세스를 허용합니다.By default, a profile is private, and allows access only to members of the sysadmin fixed server role. 개인 프로필을 사용할 수 있도록 하려면 sysadmin 이 사용자에게 프로필 사용 권한을 부여해야 합니다.To use a private profile, sysadmin must grant users permission to use the profile. 또한 sp_send_dbmail 저장 프로시저에 대한 EXECUTE 권한은 DatabaseMailUserRole멤버에게만 부여됩니다.Additionally, EXECUTE permission on the sp_send_dbmail stored procedure is only granted to members of the DatabaseMailUserRole. 사용자가 메일 메시지를 보내려면 시스템 관리자가 해당 사용자를 DatabaseMailUserRole 데이터베이스 역할에 추가해야 합니다.A system administrator must add the user to the DatabaseMailUserRole database role for the user to send e-mail messages.

프로필을 사용하면 전자 메일 서버에 연결할 수 없거나 전자 메일 서버가 메시지를 처리할 수 없는 경우 안정성이 향상됩니다.Profiles improve reliability in cases where an e-mail server becomes unreachable or unable to process messages. 프로필의 계정마다 시퀀스 번호가 있습니다.Each account in the profile has a sequence number. 시퀀스 번호는 데이터베이스 메일에서 프로필의 계정을 사용하는 순서를 결정합니다.The sequence number determines the order in which Database Mail uses accounts in the profile. 데이터베이스 메일은 메시지를 성공적으로 보낸 마지막 계정을 새 전자 메일 메시지에 사용합니다. 그러나 아직 보낸 메시지가 없는 경우에는 시퀀스 번호가 가장 낮은 계정을 사용합니다.For a new e-mail message, Database Mail uses the last account that sent a message successfully, or the account that has the lowest sequence number if no message has yet been sent. 해당 계정이 실패하면 데이터베이스 메일에서는 시퀀스 번호가 다음으로 높은 계정을 사용하여 메시지가 성공적으로 전송될 때까지 또는 시퀀스 번호가 가장 높은 계정이 실패할 때까지 작업을 계속합니다.Should that account fail, Database Mail uses the account with the next highest sequence number, and so on until either Database Mail sends the message successfully, or the account with the highest sequence number fails. 시퀀스 번호가 가장 높은 계정이 실패하면 데이터베이스 메일은 sysmail_configure_spAccountRetryDelay매개 변수에서 구성한 기간 동안 메일을 보내려는 시도를 일시 중지했다가 가장 낮은 시퀀스 번호에서 시작하여 다시 메일을 보내려는 시도를 시작합니다.If the account with the highest sequence number fails, the Database Mail pauses attempts to send the mail for the amount of time configured in the AccountRetryDelay parameter of sysmail_configure_sp, then starts the process of attempting to send the mail again, starting with the lowest sequence number. sysmail_configure_spAccountRetryAttempts매개 변수를 사용하여 외부 메일 프로세스가 지정한 프로필의 각 계정을 사용하여 전자 메일 메시지를 보내려고 시도하는 횟수를 구성합니다.Use the AccountRetryAttempts parameter of sysmail_configure_sp, to configure the number of times that the external mail process attempts to send the e-mail message using each account in the specified profile.

시퀀스 번호가 같은 계정이 둘 이상 있으면 데이터베이스 메일은 지정된 전자 메일 메시지에 대해 해당 계정 중 하나만 사용합니다.If more than one account exists with the same sequence number, Database Mail only uses one of those accounts for a given e-mail message. 이 경우 데이터베이스 메일에서 항상 특정 시퀀스 번호에 대해 해당 계정이 사용되거나 메시지 간 동일한 계정이 사용되는 것은 아닙니다.In this case, Database Mail makes no guarantees as to which of the accounts is used for that sequence number or that the same account is used from message to message.

데이터베이스 메일 구성 태스크 Database Mail Configuration Tasks

다음 표에서는 데이터베이스 메일 구성 태스크에 대해 설명합니다.The following table describes the Database Mail configuration tasks.

구성 태스크Configuration Task 항목 링크Topic Link
데이터베이스 메일 계정을 만드는 방법에 대해 설명합니다.Describes how to create a Database Mail accounts 데이터베이스 메일 계정 만들기Create a Database Mail Account
데이터베이스 메일 프로필을 만드는 방법에 대해 설명합니다.Describes how to Create Database Mail profiles 데이터베이스 메일 프로필 만들기Create a Database Mail Profile
데이터베이스 메일을 구성하는 방법에 대해 설명합니다.Describes how to Configure Database mail 데이터베이스 메일 구성Configure Database Mail
템플릿을 사용하여 데이터베이스 메일 구성 스크립트를 만드는 방법에 대해 설명합니다.Describes how to create a Database Mail configuration script using templates

추가 데이터베이스 구성 태스크(시스템 저장 프로시저) Additional Database Configuration Tasks (System Stored Procedures)

데이터베이스 메일 구성 저장 프로시저는 msdb 데이터베이스에 있습니다.Database Mail configuration stored procedures are located in the msdb database.

다음 표에서는 데이터베이스 메일을 구성하고 관리하는 데 사용되는 저장 프로시저를 나열합니다.The following tables list the stored procedures used for configuring and managing Database Mail.

데이터베이스 메일 설정Database Mail Settings

이름Name 설명Description
sysmail_configure_sp(Transact-SQL)sysmail_configure_sp (Transact-SQL) 데이터베이스 메일의 구성 설정을 변경합니다.Changes configuration settings for Database Mail.
sysmail_help_configure_sp(Transact-SQL)sysmail_help_configure_sp (Transact-SQL) 데이터베이스 메일의 구성 설정을 표시합니다.Displays configuration settings for Database Mail.

계정 및 프로필Accounts and Profiles

이름Name 설명Description
sysmail_add_profileaccount_sp(Transact-SQL)sysmail_add_profileaccount_sp (Transact-SQL) 데이터베이스 메일 프로필에 메일 계정을 추가합니다.Adds a mail account to a Database Mail profile.
sysmail_delete_account_sp(Transact-SQL)sysmail_delete_account_sp (Transact-SQL) 데이터베이스 메일 계정을 삭제합니다.Deletes a Database Mail account.
sysmail_delete_profile_sp(Transact-SQL)sysmail_delete_profile_sp (Transact-SQL) 데이터베이스 메일 프로필을 삭제합니다.Deletes a Database Mail profile.
sysmail_delete_profileaccount_sp(Transact-SQL)sysmail_delete_profileaccount_sp (Transact-SQL) 데이터베이스 메일 프로필에서 계정을 제거합니다.Removes an account from a Database Mail profile.
sysmail_help_account_sp(Transact-SQL)sysmail_help_account_sp (Transact-SQL) 데이터베이스 메일 계정에 대한 정보를 나열합니다.Lists information about Database Mail accounts.
sysmail_help_profile_sp(Transact-SQL)sysmail_help_profile_sp (Transact-SQL) 하나 이상의 데이터베이스 메일 프로필에 대한 정보를 나열합니다.Lists information about one or more Database Mail profiles.
sysmail_help_profileaccount_sp(Transact-SQL)sysmail_help_profileaccount_sp (Transact-SQL) 하나 이상의 데이터베이스 메일 프로필과 연관된 계정을 나열합니다.Lists the accounts associated with one or more Database Mail profiles.
sysmail_update_account_sp(Transact-SQL)sysmail_update_account_sp (Transact-SQL) 기존 데이터베이스 메일 계정의 정보를 업데이트합니다.Updates the information in an existing Database Mail account.
sysmail_update_profile_sp(Transact-SQL)sysmail_update_profile_sp (Transact-SQL) 데이터베이스 메일 프로필의 설명이나 이름을 변경합니다.Changes the description or name of a Database Mail profile.
sysmail_update_profileaccount_sp(Transact-SQL)sysmail_update_profileaccount_sp (Transact-SQL) 데이터베이스 메일 프로필 내에서 계정의 시퀀스 번호를 업데이트합니다.Updates the sequence number of an account within a Database Mail profile.

보안Security

이름Name 설명Description
sysmail_add_principalprofile_sp(Transact-SQL)sysmail_add_principalprofile_sp (Transact-SQL) 데이터베이스 보안 주체에 대해 데이터베이스 메일 프로필을 사용할 수 있는 권한을 부여합니다.Grants permission for a database principal to use a Database Mail profile.
sysmail_delete_principalprofile_sp(Transact-SQL)sysmail_delete_principalprofile_sp (Transact-SQL) 공개 또는 개인 데이터베이스 메일 프로필을 사용할 수 있는 데이터베이스 보안 주체에 대한 사용 권한을 제거합니다.Removes permission for a database user to use a public or private Database Mail profile.
sysmail_help_principalprofile_sp(Transact-SQL)sysmail_help_principalprofile_sp (Transact-SQL) 지정한 데이터베이스 사용자에 대한 데이터베이스 메일 프로필 정보를 나열합니다Lists Database Mail profile information for a given database user.
sysmail_update_principalprofile_sp(Transact-SQL)sysmail_update_principalprofile_sp (Transact-SQL) 지정한 데이터베이스 사용자에 대한 사용 권한 정보를 업데이트합니다.Updates the permission information for a given database user.

시스템 상태System State

이름Name 설명Description
sysmail_start_sp(Transact-SQL)sysmail_start_sp (Transact-SQL) 데이터베이스 메일 외부 프로그램 및 관련 SQL Service Broker 큐를 시작합니다.Starts the Database Mail external program and the associated SQL Service Broker queue.
sysmail_stop_sp(Transact-SQL)sysmail_stop_sp (Transact-SQL) 데이터베이스 메일 외부 프로그램 및 관련 SQL Service Broker 큐를 중지합니다.Stops the Database Mail external program and the associated SQL Service Broker queue.
sysmail_help_status_sp(Transact-SQL)sysmail_help_status_sp (Transact-SQL) 데이터베이스 메일이 시작되었는지 여부를 나타냅니다.Indicates if Database Mail is started.

추가 참조 Additional References