sysmail_update_principalprofile_sp (Transact-SQL)
更新主體與設定檔之間關聯的資訊。
語法
sysmail_update_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_name = ] 'principal_name'
要更新之關聯的 msdb 資料庫中資料庫使用者或角色的名稱。principal_name 是 sysname,預設值為 NULL。您只能指定 principal_id 或 principal_name 其中之一。[ @profile_id = ] profile_id
這是要變更之關聯的設定檔識別碼。profile_id 是 int,預設值是 NULL。您必須指定 profile_id 或 profile_name 其中之一。[ @profile_name = ] 'profile_name'
這是要變更之關聯的設定檔名稱。profile_name 是 sysname,預設值是 NULL。您必須指定 profile_id 或 profile_name 其中之一。[ @is_default = ] 'is_default'
這是指這個設定檔是否為資料庫使用者的預設設定檔。資料庫使用者只能有一個預設設定檔。is_default 是 bit,沒有預設值。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
無
備註
這個預存程序會變更指定的設定檔是否為資料庫使用者之預設設定檔的情況。資料庫使用者只能有一個預設私人設定檔。
當關聯的主體名稱是 public 或關聯的主體識別碼是 0 時,這個預存程序會變更公用設定檔。只能有一個預設公用設定檔。
當 @is_default 是 '1' 時,且主體有多個相關的設定檔時,指定的設定檔會成為主體的預設設定檔。先前是預設設定檔的設定檔仍會關聯於這個主體,但已不再是預設設定檔。
預存程序 sysmail_update_principalprofile_sp 在 msdb 資料庫中,擁有者是 dbo 結構描述。如果目前的資料庫不是 msdb,就必須利用三部分名稱來執行這個程序。
權限
這個程序的執行權限預設會授與系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
A. 將設定檔設為資料庫的預設公用設定檔
下列範例會將 General Use Profile 設定檔設為 msdb 資料庫中之使用者的預設公用設定檔。
EXECUTE msdb.dbo.sysmail_update_principalprofile_sp
@principal_name = 'public',
@profile_name = 'General Use Profile',
@is_default = '1';
B. 將設定檔設為使用者的預設私人設定檔
下列範例會將 AdventureWorks2008R2 Administrator 設定檔設為 msdb 資料庫中之 ApplicationUser 主體的預設設定檔。這個設定檔必須已關聯於這個主體。先前是預設設定檔的設定檔仍會關聯於這個主體,但已不再是預設設定檔。
EXECUTE msdb.dbo.sysmail_update_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks2008R2 Administrator',
@is_default = '1' ;