sysmail_add_principalprofile_sp(Transact-SQL)
데이터베이스 메일 프로필을 사용하도록 데이터베이스 사용자 또는 역할의 사용 권한을 부여합니다.
구문
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_name은 sysname이며 기본값은 NULL입니다. 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는 int이며 기본값은 NULL입니다. profile_id 또는 profile_name을 지정해야 합니다.[ @profile_name = ] 'profile_name'
연결의 프로필 이름입니다. profile_name은 sysname이며 기본값은 없습니다. profile_id 또는 profile_name을 지정해야 합니다.[ @is_default = ] is_default
해당 프로필이 해당 보안 주체에 대한 기본 프로필인지 여부를 지정합니다. 보안 주체는 하나의 기본 프로필을 가져야 합니다. is_default는 bit이며 기본값은 없습니다.
반환 코드 값
0(성공) 또는 1(실패)
주의
프로필을 공개 프로필로 사용하려면 @principal_id를 0으로 지정하거나 @principal_name을 public으로 지정합니다. 공개 프로필은 msdb 데이터베이스의 모든 사용자가 사용할 수 있습니다. 그러나 사용자가 sp_send_dbmail을 실행하려면 DatabaseMailUserRole의 멤버여야 합니다.
데이터베이스 사용자는 하나의 기본 프로필만 가질 수 있습니다. @is_default가 '1'이고 사용자가 하나 이상의 프로필에 이미 연결되어 있는 경우에는 지정한 프로필이 해당 사용자의 기본 프로필이 됩니다. 이전에 기본 프로필이던 프로필은 사용자와 계속 연결되어 있긴 하지만 더 이상 기본 프로필이 아닙니다.
@is_default가 '0'이고 다른 연결이 없을 경우 저장 프로시저는 오류를 반환합니다.
sysmail_add_principalprofile_sp 저장 프로시저는 msdb 데이터베이스에 있으며 dbo 스키마가 소유합니다. 현재 데이터베이스가 msdb가 아닐 경우 이 프로시저를 세 부분으로 구성된 이름으로 실행해야 합니다.
사용 권한
이 프로시저에 대한 실행 권한은 기본적으로 sysadmin 고정 서버 역할의 멤버로 설정됩니다.
예
1. 연결 생성 및 기본 프로필 설정
다음 예에서는 AdventureWorks Administrator Profile이라는 프로필과 msdb 데이터베이스 사용자 ApplicationUser 간에 연결을 만듭니다. 이 프로필은 해당 사용자의 기본 프로필입니다.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1 ;
2. 프로필을 기본 공개 프로필로 사용
다음 예에서는 AdventureWorks Public Profile 프로필을 msdb 데이터베이스의 사용자에 대한 기본 공개 프로필로 사용합니다.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1 ;