다음을 통해 공유


sysmail_add_principalprofile_sp(Transact-SQL)

데이터베이스 메일 프로필을 사용하도록 데이터베이스 사용자 또는 역할의 사용 권한을 부여합니다.

항목 링크 아이콘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_id은 int이며 기본값은 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_id0으로 지정하거나 @principal_namepublic으로 지정합니다. 공개 프로필은 msdb 데이터베이스의 모든 사용자가 사용할 수 있습니다. 그러나 사용자가 sp_send_dbmail을 실행하려면 DatabaseMailUserRole의 멤버여야 합니다.

데이터베이스 사용자는 하나의 기본 프로필만 가질 수 있습니다. @is_default가 '1'이고 사용자가 하나 이상의 프로필에 이미 연결되어 있는 경우에는 지정한 프로필이 해당 사용자의 기본 프로필이 됩니다. 이전에 기본 프로필이던 프로필은 사용자와 계속 연결되어 있긴 하지만 더 이상 기본 프로필이 아닙니다.

@is_default가 '0'이고 다른 연결이 없을 경우 저장 프로시저는 오류를 반환합니다.

sysmail_add_principalprofile_sp 저장 프로시저는 msdb 데이터베이스에 있으며 dbo 스키마가 소유합니다. 현재 데이터베이스가 msdb가 아닐 경우 이 프로시저를 세 부분으로 구성된 이름으로 실행해야 합니다.

사용 권한

이 프로시저에 대한 실행 권한은 기본적으로 sysadmin 고정 서버 역할의 멤버로 설정됩니다.

1. 연결 생성 및 기본 프로필 설정

다음 예에서는 AdventureWorks2008R2 Administrator Profile이라는 프로필과 msdb 데이터베이스 사용자 ApplicationUser 간에 연결을 만듭니다. 이 프로필은 해당 사용자의 기본 프로필입니다.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks2008R2 Administrator Profile',
    @is_default = 1 ;

2. 프로필을 기본 공개 프로필로 사용

다음 예에서는 AdventureWorks2008R2 Public Profile 프로필을 msdb 데이터베이스의 사용자에 대한 기본 공개 프로필로 사용합니다.

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