적용 대상: SQL Server
Azure SQL Managed Instance
데이터베이스 보안 주체가 msdb 데이터베이스 메일 프로필을 사용할 수 있는 권한을 부여합니다. 데이터베이스 보안 주체는 SQL Server 인증 사용자, Windows 사용자 또는 Windows 그룹에 매핑해야 합니다.
Azure SQL Managed Instance 및 SQL Server 2022(16.x)에서 데이터베이스 보안 주체는 Microsoft Entra 사용자에게 매핑할 수도 있습니다.
구문
sysmail_add_principalprofile_sp
{ [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' }
, { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
[ , [ @is_default ] = 'is_default' ]
[ ; ]
인수
[ @principal_id = ] principal_id
연결에 대한 데이터베이스 사용자 또는 데이터베이스의 msdb 역할 ID입니다. @principal_id 기본값NULL인 int입니다. @principal_id 또는 @principal_name 지정해야 합니다. @principal_id 이 프로필을 공개 프로필로 만들어 데이터베이스의 0 모든 보안 주체에 대한 액세스 권한을 부여합니다.
[ @principal_name = ] 'principal_name'
연결에 대한 데이터베이스 사용자 또는 데이터베이스의 msdb 역할 이름입니다. @principal_name sysname이며 기본값은 .입니다NULL. @principal_id 또는 @principal_name 지정해야 합니다. @principal_name 이 프로필을 공개 프로필로 만들어 데이터베이스의 public 모든 보안 주체에 대한 액세스 권한을 부여합니다.
[ @profile_id = ] profile_id
연결 프로필의 ID입니다. @profile_id 기본값NULL인 int입니다. @profile_id 또는 @profile_name 지정해야 합니다.
[ @profile_name = ] 'profile_name'
연결 프로필의 이름입니다. @profile_name 기본값이 없는 sysname입니다. @profile_id 또는 @profile_name 지정해야 합니다.
[ @is_default = ] is_default
이 프로필이 보안 주체의 기본 프로필인지 여부를 지정합니다. 보안 주체에는 정확히 하나의 기본 프로필이 있어야 합니다. @is_default 비트이며 기본값은 없습니다.
반환 코드 값
0(성공) 또는 1(실패).
설명
프로필을 공개하려면 @principal_id 또는 @principal_name 0 지정합니다public. 공개 프로필은 데이터베이스의 모든 사용자가 msdb 사용할 수 있지만 사용자는 DatabaseMailUserRole의 구성원이어야 실행sp_send_dbmail합니다.
데이터베이스 사용자는 하나의 기본 프로필만 가질 수 있습니다. @is_default 1 사용자가 이미 하나 이상의 프로필과 연결되어 있는 경우 지정된 프로필은 사용자의 기본 프로필이 됩니다. 이전에 기본 프로필이던 프로필은 사용자와 계속 연결되어 있긴 하지만 더 이상 기본 프로필이 아닙니다.
@is_default 0 있고 다른 연결이 없으면 저장 프로시저에서 오류를 반환합니다.
저장 프로시저 sysmail_add_principalprofile_sp 는 데이터베이스에 msdb 있으며 스키마가 소유합니다 dbo . 현재 데이터베이스가 아닌 msdb경우 프로시저를 세 부분으로 된 이름으로 실행해야 합니다.
사용 권한
이 절차에 대한 사용 권한을 부여 EXECUTE 할 수 있지만 SQL Server 업그레이드 중에 이러한 권한이 재정의될 수 있습니다.
예제
A. 연결 만들기 및 기본 프로필 설정
다음 예제에서는 명명 AdventureWorks Administrator Profile 된 프로필과 msdb 데이터베이스 사용자 ApplicationUser간에 연결을 만듭니다. 이 프로필은 해당 사용자의 기본 프로필입니다.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1;
B. 프로필을 기본 공개 프로필로 만들기
다음 예제에서는 프로필을 AdventureWorks Public Profile 데이터베이스의 사용자에 대한 기본 공개 프로필로 msdb 만듭니다.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1;