sysmail_add_principalprofile_sp (Transact-SQL)
적용 대상: 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
간에 연결을 만듭니다. 이 프로필은 해당 사용자의 기본 프로필입니다.
EXEC msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1;
B. 프로필을 기본 공개 프로필로 만들기
다음 예제에서는 프로필을 AdventureWorks Public Profile
데이터베이스의 사용자에 대한 기본 공개 프로필로 msdb
만듭니다.
EXEC msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1;