데이터베이스 메일 프로필 만듭니다.
적용 대상: SQL Server Azure SQL Managed Instance
데이터베이스 메일 구성 마법사 또는 Transact-SQL을 사용하여 데이터베이스 메일 퍼블릭 프로필 및 프라이빗 프로필을 만들 수 있습니다. 메일 프로필에 대한 자세한 내용은 데이터베이스 메일 프로필을 참조하세요.
시작하기 전에
필수 조건
프로필에 대한 하나 이상의 데이터베이스 메일 계정을 만듭니다. 데이터베이스 메일 계정을 만드는 방법에 대한 자세한 내용은 데이터베이스 메일 계정 만들기를 참조하세요.
보안
공개 프로필을 사용하면 msdb
데이터베이스에 액세스할 수 있는 모든 사용자가 해당 프로필을 사용하여 전자 메일을 보낼 수 있습니다. 개인 프로필은 사용자 또는 역할에서 사용할 수 있습니다. 프로필에 대한 역할 액세스 권한을 부여하면 보다 쉽게 유지 관리되는 아키텍처가 만들어집니다. 메일을 보내려면 msdb
데이터베이스에서 DatabaseMailUserRole의 구성원이어야 하며 하나 이상의 데이터베이스 메일 프로필에 액세스할 수 있어야 합니다.
사용 권한
프로필 계정을 만들고 저장 프로시저를 실행하는 사용자는 sysadmin 고정 서버 역할의 멤버여야 합니다.
데이터베이스 메일 구성 마법사 사용
데이터베이스 메일 프로필을 만들려면
개체 탐색기 데이터베이스 메일 구성하려는 SQL Server 인스턴스에 연결하고 서버 트리를 확장합니다.
관리 노드를 확장합니다.
데이터베이스 메일 두 번 클릭하여 데이터베이스 메일 구성 마법사를 엽니다.
구성 태스크 선택 페이지에서 데이터베이스 메일 계정 및 프로필 관리 옵션을 선택하고 다음을 클릭합니다.
프로필 및 계정 관리 페이지에서 새 프로필 만들기 옵션을 선택하고 다음을 클릭합니다.
새 프로필 페이지에서 프로필 이름과 설명을 지정하고 프로필에 포함할 계정을 추가한 후 다음을 클릭합니다.
마법사 완료 페이지에서 수행할 작업을 검토하고 마침을 선택하여 새 프로필 만들기를 완료합니다.
데이터베이스 메일 프라이빗 프로필을 구성하려면
데이터베이스 메일 구성 마법사를 엽니다.
구성 태스크 선택 페이지에서 데이터베이스 메일 계정 및 프로필 관리 옵션을 선택하고 다음을 클릭합니다.
프로필 및 계정 관리 페이지에서 프로필 보안 관리 옵션을 선택하고 다음을 클릭합니다.
프라이빗 프로필 탭에서 구성하려는 프로필에 대한 확인란을 선택하고 다음을 클릭합니다.
마법사 완료 페이지에서 수행할 작업을 검토하고 마침을 선택하여 새 프로필 만들기를 완료합니다.
데이터베이스 메일 공개 프로필을 구성하려면
데이터베이스 메일 구성 마법사를 엽니다.
구성 태스크 선택 페이지에서 데이터베이스 메일 계정 및 프로필 관리 옵션을 선택하고 다음을 클릭합니다.
프로필 및 계정 관리 페이지에서 프로필 보안 관리 옵션을 선택하고 다음을 클릭합니다.
공개 프로필 탭에서 구성하려는 프로필에 대한 확인란을 선택하고 다음을 클릭합니다.
마법사 완료 페이지에서 수행할 작업을 검토하고 마침을 선택하여 새 프로필 만들기를 완료합니다.
Transact-SQL 사용
데이터베이스 메일 프라이빗 프로필을 만듭니다.
SQL Server Management Studio(SSMS) 또는 Azure Data Studio를 사용하여 SQL Server 인스턴스에 연결합니다. 새 쿼리 창을 엽니다.
새 프로필을 만들려면 다음과 같이 시스템 저장 프로시저 sysmail_add_profile_sp (Transact-SQL) 를 실행합니다.
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
이전 스크립트에서 @profile_name은 프로필의 이름이고 @description은 프로필에 대한 설명입니다. 이 매개 변수는 선택 사항입니다.
각 계정에 대해 다음과 같이 저장 프로시저 sysmail_add_profileaccount_sp (Transact-SQL) 를 실행합니다.
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Profile Name' , @account_name = 'Name of the account' , @sequence_number = 'sequence number of the account within the profile.';
이전 샘플 스크립트에서 @profile_name은 프로필의 이름이고, @account_name은 프로필에 추가할 계정의 이름이며, @sequence_number는 프로필에서 계정이 사용되는 순서를 결정합니다.
이 프로필을 사용하여 메일을 보낼 각 데이터베이스 역할 또는 사용자에 대해 프로필에 대한 액세스 권한을 부여합니다. 이렇게 하려면 다음과 같이 저장 프로시저 sysmail_add_principalprofile_sp (Transact-SQL) 를 실행합니다.
EXECUTE msdb.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'Name of the database user or role' , @is_default = 'Default profile enabled';
이전 샘플 스크립트 에서 @profile_name은 프로필의 이름이고, @principal_name 데이터베이스 사용자 또는 역할의 이름이며, @is_default는 이 프로필이 데이터베이스 사용자 또는 역할의 기본값인지 여부를 결정합니다.
다음 예제에서는 데이터베이스 메일 계정을 만들고, 데이터베이스 메일 프라이빗 프로필을 만든 다음, 프로필에 계정을 추가하고 msdb
데이터베이스의 DBMailUsers 데이터베이스 역할에 대한 액세스 권한을 부여합니다.
-- 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 ;
데이터베이스 메일 공개 프로필을 만듭니다.
SQL Server 인스턴스에 연결합니다.
새 프로필을 만들려면 다음과 같이 시스템 저장 프로시저 sysmail_add_profile_sp (Transact-SQL) 를 실행합니다.
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
이전 스크립트에서 @profile_name은 프로필의 이름이고 @description은 프로필에 대한 설명입니다. 이 매개 변수는 선택 사항입니다.
각 계정에 대해 다음과 같이 저장 프로시저 sysmail_add_profileaccount_sp (Transact-SQL) 를 실행합니다.
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Name of the profile' , @account_name* = 'Name of the account' , @sequence_number* = 'sequence number of the account within the profile.'
이전 샘플 스크립트에서 @profile_name은 프로필의 이름이고, @account_name은 프로필에 추가할 계정의 이름이며, @sequence_number는 프로필에서 계정이 사용되는 순서를 결정합니다.
공용 액세스 권한을 부여하려면 다음과 같이 저장 프로시저 sysmail_add_principalprofile_sp (Transact-SQL) 를 실행합니다.
EXECUTE msdb.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'public or 0' , @is_default = 'Default Profile enabled';
이전 샘플 스크립트 에서 @profile_name은 프로필의 이름이고, @principal_name 공용 프로필임을 나타내며, @is_default는 이 프로필이 데이터베이스 사용자 또는 역할의 기본값인지 여부를 결정합니다.
다음 예제에서는 데이터베이스 메일 계정을 만들고, 데이터베이스 메일 프라이빗 프로필을 만든 다음, 프로필에 계정을 추가하고 프로필에 대한 공용 액세스 권한을 부여합니다.
-- 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 ;