sysmail_add_principalprofile_sp (T-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Memberikan izin bagi msdb
prinsipal database untuk menggunakan profil Email Database. Prinsipal database harus memetakan ke pengguna autentikasi SQL Server, Pengguna Windows, atau Grup Windows.
Di Azure SQL Managed Instance dan SQL Server 2022 (16.x), prinsipal database juga dapat memetakan ke pengguna Microsoft Entra.
Sintaks
sysmail_add_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 untuk asosiasi. @principal_id int, dengan default NULL
. Baik @principal_id atau @principal_name harus ditentukan. @principal_id 0
menjadikan profil ini profil publik, memberikan akses ke semua prinsipal dalam database.
[ @principal_name = ] 'principal_name'
Nama pengguna atau peran database dalam msdb
database untuk asosiasi. @principal_name adalah sysname, dengan default NULL
. Baik @principal_id atau @principal_name harus ditentukan. @principal_name public
membuat profil ini menjadi profil publik, memberikan akses ke semua prinsipal dalam database.
[ @profile_id = ] profile_id
ID profil untuk asosiasi. @profile_id int, dengan default NULL
. Baik @profile_id atau @profile_name harus ditentukan.
[ @profile_name = ] 'profile_name'
Nama profil untuk asosiasi. @profile_name adalah sysname, tanpa default. Baik @profile_id atau @profile_name harus ditentukan.
[ @is_default = ] is_default
Menentukan apakah profil ini adalah profil default untuk prinsipal. Prinsipal harus memiliki satu profil default. @is_default adalah bit, tanpa default.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
Untuk membuat profil menjadi publik, tentukan @principal_id 0
atau @principal_name .public
Profil publik tersedia untuk semua pengguna dalam msdb
database, meskipun pengguna juga harus menjadi anggota DatabaseMailUserRole untuk menjalankan sp_send_dbmail
.
Pengguna database hanya dapat memiliki satu profil default. Ketika @is_default dan 1
pengguna sudah dikaitkan dengan satu atau beberapa profil, profil yang ditentukan menjadi profil default untuk pengguna. Profil yang sebelumnya merupakan profil default masih dikaitkan dengan pengguna, tetapi bukan lagi profil default.
Ketika @is_default dan 0
tidak ada asosiasi lain, prosedur tersimpan mengembalikan kesalahan.
Prosedur sysmail_add_principalprofile_sp
tersimpan ada di msdb
database dan dimiliki oleh dbo
skema. 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. Membuat asosiasi dan mengatur profil default
Contoh berikut membuat hubungan antara profil bernama AdventureWorks Administrator Profile
dan msdb
pengguna ApplicationUser
database . Profil adalah profil default untuk pengguna.
EXEC msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1;
B. Membuat profil sebagai profil publik default
Contoh berikut menjadikan profil AdventureWorks Public Profile
profil publik default untuk pengguna dalam msdb
database.
EXEC msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1;
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk