Bagikan melalui


sysmail_update_principalprofile_sp (T-SQL)

Berlaku untuk: SQL Server

Memperbarui informasi untuk hubungan antara prinsipal dan profil.

Konvensi sintaks transact-SQL

Sintaks

sysmail_update_principalprofile_sp { @principal_id = principal_id | @principal_name = 'principal_name' } ,
    { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
    [ @is_default = ] 'is_default'
[ ; ]

Argumen

[ @principal_id = ] principal_id

ID pengguna atau peran database dalam msdb database agar asosiasi berubah. principal_id int, dengan default NULL. Baik @principal_id atau @principal_name harus ditentukan.

[ @principal_name = ] 'principal_name'

Nama pengguna atau peran database dalam msdb database untuk diperbarui oleh asosiasi. principal_name adalah sysname, dengan default NULL. Baik @principal_id atau @principal_name harus ditentukan.

[ @profile_id = ] profile_id

ID profil untuk asosiasi yang akan diubah. @profile_id int, dengan default NULL. Baik @profile_id atau @profile_name harus ditentukan.

[ @profile_name = ] 'profile_name'

Nama profil untuk asosiasi yang akan diubah. @profile_name adalah sysname, dengan default NULL. Baik @profile_id atau @profile_name harus ditentukan.

[ @is_default = ] is_default

Apakah profil ini adalah profil default untuk pengguna database. Pengguna database mungkin hanya memiliki satu profil default. @is_default adalah bit, tanpa default.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Tidak ada.

Keterangan

Prosedur tersimpan ini mengubah apakah profil yang ditentukan adalah profil default untuk pengguna database. Pengguna database mungkin hanya memiliki satu profil privat default.

Ketika nama utama untuk asosiasi bersifat publik atau ID utama untuk asosiasi adalah 0, prosedur tersimpan ini mengubah profil publik. Hanya ada satu profil publik default.

Ketika @is_default dan 1 prinsipal dikaitkan dengan lebih dari satu profil, profil yang ditentukan menjadi profil default untuk prinsipal. Profil yang sebelumnya merupakan profil default masih dikaitkan dengan prinsipal, tetapi bukan lagi profil default.

Prosedur sysmail_update_principalprofile_sp tersimpan msdb ada di database dan dimiliki oleh skema dbo . Prosedur harus dijalankan dengan nama tiga bagian jika database saat ini bukan msdb.

Izin

Prosedur tersimpan ini dimiliki oleh peran db_owner . Anda dapat memberikan EXECUTE izin untuk pengguna mana pun, tetapi izin ini dapat ditimpa selama peningkatan SQL Server.

Contoh

J. Mengatur profil menjadi profil publik default untuk database

Contoh berikut mengatur profil General Use Profile menjadi profil publik default untuk pengguna dalam msdb database.

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'General Use Profile',
    @is_default = '1';

B. Mengatur profil menjadi profil privat default untuk pengguna

Contoh berikut mengatur profil AdventureWorks Administrator menjadi profil default untuk prinsipal ApplicationUser dalam msdb database. Profil harus sudah dikaitkan dengan prinsipal. Profil yang sebelumnya merupakan profil default masih dikaitkan dengan prinsipal, tetapi bukan lagi profil default.

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator',
    @is_default = '1' ;