데이터베이스 메일 프로필 만들기Create a Database Mail Profile

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 데이터베이스 메일 구성 마법사 또는 Transact-SQLTransact-SQL을 사용하여 데이터베이스 메일 공개 프로필 및 개인 프로필을 만들 수 있습니다. Use either the Database Mail Configuration Wizard or Transact-SQLTransact-SQL to create Database Mail public and private profiles. 메일 프로필에 대한 자세한 내용은 데이터베이스 메일 프로필을 참조하세요.For more information about mail profiles see Database Mail Profile.

시작하기 전에Before You Begin

필수 구성 요소Prerequisites

프로필에 대한 데이터베이스 메일 계정을 하나 이상 만듭니다.Create one or more Database Mail accounts for the profile. 데이터베이스 메일 계정을 만드는 방법은 데이터베이스 메일 계정 만들기를 참조하세요.For more information about creating Database Mail accounts, see Create a Database Mail Account.

보안Security

공개 프로필을 사용하여 msdb 데이터베이스에 액세스할 수 있는 모든 사용자는 해당 프로필을 사용하여 메일을 보낼 수 있습니다.A public profile allows any user with access to the msdb database to send e-mail using that profile. 개인 프로필은 사용자 또는 역할에 의해 사용될 수 있습니다.A private profile can be used by a user or by a role. 프로필에 대한 액세스 권한을 역할에 부여하면 보다 쉽게 유지 관리되는 아키텍처가 생성됩니다.Granting roles access to profiles creates a more easily maintained architecture. 메일을 보내려면 msdb 데이터베이스에서 DatabaseMailUserRole 의 멤버여야 하며 적어도 하나 이상의 데이터베이스 메일 프로필에 액세스할 수 있어야 합니다.To send mail you must be a member of the DatabaseMailUserRole in the msdb database, and have access to at least one Database Mail profile.

사용 권한Permissions

프로필 계정을 만들고 저장 프로시저를 실행하는 사용자는 sysadmin 고정 서버 역할의 멤버여야 합니다.The user creating the profiles accounts and executing stored procedures should be a member of the sysadmin fixed server role.

데이터베이스 메일 구성 마법사 사용Using Database Mail Configuration Wizard

데이터베이스 메일 프로필을 만들려면To Create a Database Mail profile

  • 개체 탐색기에서 데이터베이스 메일을 구성할 SQL ServerSQL Server 인스턴스에 연결한 다음 서버 트리를 확장합니다.In Object Explorer, connect to the SQL ServerSQL Server instance you want to configure Database Mail on, and expand the server tree.

  • 관리 노드를 확장합니다.Expand the Management node

  • 데이터베이스 메일을 두 번 클릭하여 데이터베이스 메일 구성 마법사를 엽니다.Double click Database Mail to open the Database Mail Configuration Wizard.

  • 구성 태스크 선택 페이지에서 데이터베이스 메일 계정 및 프로필 관리 옵션을 선택하고 다음을 클릭합니다.On the Select Configuration Task page, select Manage Database Mail accounts and profiles option and click Next.

  • 프로필 및 계정 관리 페이지에서 새 프로필 만들기 옵션을 선택하고 다음을 클릭합니다.On the Manage Profiles and Accounts page, select Create a new profile option, and click Next.

  • 새 프로필 페이지에서 프로필 이름과 설명을 지정하고 프로필에 포함할 계정을 추가한 후 다음을 클릭합니다.On the New Profile page, specifiy the Profile name, Description and add accounts to be included in the profile, and click Next.

  • 마법사 완료 페이지에서 수행할 동작을 검토하고 마침 을 클릭하여 새 프로필 만들기를 완료합니다.On the Complete the Wizard page, review the actions to be performed and click Finish to complete creating the new profile.

  • 데이터베이스 메일 개인 프로필을 구성하려면To configure a Database Mail private profile:

    • 데이터베이스 메일 구성 마법사를 엽니다.Open the Database Mail Configuration Wizard.

    • 구성 태스크 선택 페이지에서 데이터베이스 메일 계정 및 프로필 관리 옵션을 선택하고 다음을 클릭합니다.On the Select Configuration Task page, select Manage Database Mail accounts and profiles option, and click Next.

    • 프로필 및 계정 관리 페이지에서 프로필 보안 관리 옵션을 선택하고 다음을 클릭합니다.On the Manage Profiles and Accounts page, select Manage profile security option and click Next.

    • 개인 프로필 탭에서 구성하려는 프로필에 대한 확인란을 선택하고 다음을 클릭합니다.In the Private Profiles tab, select the check box for the profile you would like to configure and click Next.

    • 마법사 완료 페이지에서 수행할 동작을 검토하고 마침 을 클릭하여 프로필 구성을 완료합니다.On the Complete the Wizard page, review the actions to be performed and click Finish to complete configuring the profile.

  • 데이터베이스 메일 공개 프로필을 구성하려면To configure a Database Mail public profile:

    • 데이터베이스 메일 구성 마법사를 엽니다.Open the Database Mail Configuration Wizard.

    • 구성 태스크 선택 페이지에서 데이터베이스 메일 계정 및 프로필 관리 옵션을 선택하고 다음을 클릭합니다.On the Select Configuration Task page, select Manage Database Mail accounts and profiles option, and click Next.

    • 프로필 및 계정 관리 페이지에서 프로필 보안 관리 옵션을 선택하고 다음을 클릭합니다.On the Manage Profiles and Accounts page, select Manage profile security option and click Next.

    • 공개 프로필 탭에서 구성하려는 프로필에 대한 확인란을 선택하고 다음을 클릭합니다.In the Public Profiles tab, select the check box for the profile you would like to configure and click Next.

    • 마법사 완료 페이지에서 수행할 동작을 검토하고 마침 을 클릭하여 프로필 구성을 완료합니다.On the Complete the Wizard page, review the actions to be performed and click Finish to complete configuring the profile.

Transact-SQL 사용Using Transact-SQL

데이터베이스 메일 개인 프로필을 만들려면To Create a Database Mail private profile

  • SQL ServerSQL Server 인스턴스에 연결합니다.Connect to the SQL ServerSQL Server instance.

  • 새 프로필을 만들려면 시스템 저장 프로시저 sysmail_add_profile_sp(Transact-SQL)를 다음과 같이 실행합니다.To create a new profile, run the system stored procedure sysmail_add_profile_sp (Transact-SQL) as follows:

    EXECUTEmsdb.dbo.sysmail_add_profile_spEXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = '프로필 이름'@profile_name = 'Profile Name'

    @description = '설명'@description = 'Desciption'

    여기서 @profile_name 은 프로필의 이름이고 @description 은 프로필에 대한 설명입니다.where @profile_name is the name of the profile, and @description is the description of the profile. 이 매개 변수는 선택 사항입니다.This parameter is optional.

  • 각 계정에 대해 저장 프로시저 sysmail_add_profileaccount_sp(Transact-SQL)를 다음과 같이 실행합니다.For each account, run the stored procedure sysmail_add_profileaccount_sp (Transact-SQL) as follows:

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_spEXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = '프로필 이름'@profile_name = 'Name of the profile'

    @account_name = '계정 이름'@account_name = 'Name of the account'

    @sequence_number = '프로필 내 계정의 시퀀스 번호@sequence_number = 'sequence number of the account within the profile. ''

    여기서 @profile_name 은 프로필의 이름이고 @account_name 은 프로필에 추가할 계정의 이름이며, @sequence_number 는 프로필에서 계정이 사용되는 순서를 결정합니다.where @profile_name is the name of the profile, and @account_name is the name of the account to add to the profile, @sequence_number determines the order in which the accounts are used in the profile.

  • 이 프로필을 사용하여 메일을 보내는 각 데이터베이스 역할 또는 사용자에게 프로필에 대한 액세스 권한을 부여합니다.For each database role or user that will send mail using this profile, grant access to the profile. 이렇게 하려면 저장 프로시저 sysmail_add_principalprofile_sp(Transact-SQL)를 다음과 같이 실행합니다.To do this, run the stored procedure sysmail_add_principalprofile_sp (Transact-SQL) as follows:

    EXECUTEmsdb.sysmail_add_principalprofile_spEXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = '프로필 이름'@profile_name = 'Name of the profile'

    @ principal_name = '데이터베이스 사용자 또는 역할의 이름'@ principal_name = 'Name of the database user or role'

    @is_default = '기본 프로필 상태 '@is_default = 'Default Profile status '

    여기서 @profile_name 은 프로필의 이름이고 @principal_name 은 데이터베이스 사용자 또는 역할의 이름이며, @is_default 는 이 프로필이 데이터베이스 사용자 또는 역할에 대한 기본값인지 여부를 결정합니다.where @profile_name is the name of the profile, and @principal_name is the name of the database user or role, @is_default determines the whether this profile is the default for the database user or role.

    다음 예에서는 데이터베이스 메일 계정을 만들고, 데이터베이스 메일 개인 프로필을 만든 다음 프로필에 계정을 추가하며, msdb 데이터베이스의 DBMailUsers 데이터베이스 역할에 해당 프로필에 대한 액세스 권한을 부여합니다.The following example creates a Database Mail account, creates a Database Mail private profile, then adds the account to the profile and grants access to the profile to the DBMailUsers database role in the msdb database.

-- Create a Database Mail account  
EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'AdventureWorks Administrator',  
    @description = 'Mail account for administrative e-mail.',  
    @email_address = 'dba@Adventure-Works.com',  
    @replyto_address = 'danw@Adventure-Works.com',  
    @display_name = 'AdventureWorks Automated Mailer',  
    @mailserver_name = 'smtp.Adventure-Works.com' ;  

-- Create a Database Mail profile  
EXECUTE msdb.dbo.sysmail_add_profile_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @description = 'Profile used for administrative mail.' ;  

-- Add the account to the profile  
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @account_name = 'AdventureWorks Administrator',  
    @sequence_number =1 ;  

-- Grant access to the profile to the DBMailUsers role  
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @principal_name = 'ApplicationUser',  
    @is_default = 1 ;  

데이터베이스 메일 공개 프로필을 만들려면To Create a Database Mail public profile

  • SQL ServerSQL Server 인스턴스에 연결합니다.Connect to the SQL ServerSQL Server instance.

  • 새 프로필을 만들려면 시스템 저장 프로시저 sysmail_add_profile_sp(Transact-SQL)를 다음과 같이 실행합니다.To create a new profile, run the system stored procedure sysmail_add_profile_sp (Transact-SQL) as follows:

    EXECUTEmsdb.dbo.sysmail_add_profile_spEXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = '프로필 이름'@profile_name = 'Profile Name'

    @description = '설명'@description = 'Desciption'

    여기서 @profile_name 은 프로필의 이름이고 @description 은 프로필에 대한 설명입니다.where @profile_name is the name of the profile, and @description is the description of the profile. 이 매개 변수는 선택 사항입니다.This parameter is optional.

  • 각 계정에 대해 저장 프로시저 sysmail_add_profileaccount_sp(Transact-SQL)를 다음과 같이 실행합니다.For each account, run the stored procedure sysmail_add_profileaccount_sp (Transact-SQL) as follows:

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_spEXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = '프로필 이름'@profile_name = 'Name of the profile'

    @account_name = '계정 이름'@account_name = 'Name of the account'

    @sequence_number = '프로필 내 계정의 시퀀스 번호@sequence_number = 'sequence number of the account within the profile. ''

    여기서 @profile_name 은 프로필의 이름이고 @account_name 은 프로필에 추가할 계정의 이름이며, @sequence_number 는 프로필에서 계정이 사용되는 순서를 결정합니다.where @profile_name is the name of the profile, and @account_name is the name of the account to add to the profile, @sequence_number determines the order in which the accounts are used in the profile.

  • 공용 액세스를 허용하려면 저장 프로시저 sysmail_add_principalprofile_sp(Transact-SQL)를 다음과 같이 실행합니다.To grant public access, run the stored procedure sysmail_add_principalprofile_sp (Transact-SQL) as follows:

    EXECUTEmsdb.sysmail_add_principalprofile_spEXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = '프로필 이름'@profile_name = 'Name of the profile'

    @ principal_name = 'public 또는 0'@ principal_name = 'public or 0'

    @is_default = '기본 프로필 상태 '@is_default = 'Default Profile status '

    여기서 @profile_name 은 프로필의 이름이고 @principal_name 은 이 프로필이 공용 프로필임을 나타내며, @is_default 는 이 프로필이 데이터베이스 사용자 또는 역할에 대한 기본값인지 여부를 결정합니다.where @profile_name is the name of the profile, and @principal_name to indicate this this is a public profile, @is_default determines the whether this profile is the default for the database user or role.

    다음 예에서는 데이터베이스 메일 계정을 만들고, 데이터베이스 메일 개인 프로필을 만든 다음 프로필에 계정을 추가하며, 프로필에 대한 공개 액세스 권한을 부여합니다.The following example creates a Database Mail account, creates a Database Mail private profile, then adds the account to the profile and grants public access to the profile.

-- Create a Database Mail account  

EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'AdventureWorks Public Account',  
    @description = 'Mail account for use by all database users.',  
    @email_address = 'db_users@Adventure-Works.com',  
    @replyto_address = 'danw@Adventure-Works.com',  
    @display_name = 'AdventureWorks Automated Mailer',  
    @mailserver_name = 'smtp.Adventure-Works.com' ;  

-- Create a Database Mail profile  

EXECUTE msdb.dbo.sysmail_add_profile_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @description = 'Profile used for administrative mail.' ;  

-- Add the account to the profile  

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @account_name = 'AdventureWorks Public Account',  
    @sequence_number =1 ;  

-- Grant access to the profile to all users in the msdb database  

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @principal_name = 'public',  
    @is_default = 1 ;