sysmail_add_principalprofile_sp (Transact-SQL)

授與資料庫使用者或角色使用 Database Mail 設定檔的權限。

主題連結圖示 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 資料庫中,資料庫使用者或角色的識別碼。 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
    這是關聯的設定檔識別碼。 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 資料庫的所有使用者使用,不過,使用者也必須是 DatabaseMailUserRole 的成員才能夠執行 sp_send_dbmail

資料庫使用者只能有一個預設設定檔。 當 @is_default 是 '1' 時,使用者已有一或多個相關的設定檔,指定的設定檔會成為使用者的預設設定檔。 先前是預設設定檔的設定檔仍會關聯於這位使用者,但已不再是預設設定檔。

@is_default 是 '0' 時,且沒有任何其他關聯存在,預存程序會傳回錯誤。

預存程序 sysmail_add_principalprofile_spmsdb 資料庫中,擁有者是 dbo 結構描述。 如果目前的資料庫不是 msdb,就必須利用三部分名稱來執行這個程序。

權限

這個程序的執行權限預設會授與系統管理員 (sysadmin) 固定伺服器角色的成員。

範例

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 ;

請參閱

參考

Database Mail 預存程序 (Transact-SQL)

概念

Database Mail

Database Mail 組態物件