sysmail_add_principalprofile_sp (Transact-SQL)
授與資料庫使用者或角色使用 Database Mail 設定檔的權限。
語法
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_sp 在 msdb 資料庫中,擁有者是 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 ;