sysmail_add_principalprofile_sp(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed Instance

데이터베이스 보안 주체가 msdb 데이터베이스 메일 프로필을 사용할 수 있는 권한을 부여합니다. 데이터베이스 보안 주체는 SQL Server 인증 사용자, Windows 사용자 또는 Windows 그룹에 매핑해야 합니다.

Azure SQL Managed Instance 및 SQL Server 2022(16.x)에서 데이터베이스 보안 주체는 Microsoft Entra 사용자에게 매핑할 수도 있습니다.

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 기본값NULLint입니다. @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 기본값NULLint입니다. @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_name0 지정합니다public. 공개 프로필은 데이터베이스의 모든 사용자가 msdb 사용할 수 있지만 사용자는 DatabaseMailUserRole구성원이어야 실행sp_send_dbmail합니다.

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

@is_default0 있고 다른 연결이 없으면 저장 프로시저에서 오류를 반환합니다.

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

사용 권한

이 저장 프로시저는 db_owner 역할이 소유합니다. 모든 사용자에 대한 사용 권한을 부여 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;