Aby wysyłać wiadomości e-mail przy użyciu poczty bazy danych w programie SQL Server, użytkownik musi być członkiem DatabaseMailUserRole w msdb bazy danych i mieć dostęp do co najmniej jednego profilu poczty bazy danych.
Aby przyznać użytkownikowi dostęp do profilu poczty bazy danych za pomocą T-SQL, użyj sysmail_add_principalprofile_sp
procedura składowana w msdb
Baza danych.
Przykład
Oto przykład do zademonstrowania.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Admin Profile',
@principal_name = 'Marge',
@is_default = 1;
W tym przypadku przyznaję użytkownikowi „Marge” dostęp do profilu „profil administratora DB”.
Zakłada się, że profil i użytkownik już istnieją.
W tym przypadku również podałem @is_default = 1
, co sprawia, że jest to domyślny profil użytkownika.
Określ identyfikatory użytkownika/profilu
Możesz alternatywnie podać identyfikator użytkownika i/lub identyfikator konta zamiast ich nazw.
Dlatego możemy zmienić poprzedni przykład, aby wyglądał mniej więcej tak:
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_id = 1,
@principal_id = 25,
@is_default = 1;
To oczywiście zakłada, że są to identyfikatory kont, o których mowa.
Pamiętaj, że należy podać imię i nazwisko lub identyfikator.
Ponadto, podając identyfikatory, są one podawane jako int .
Zauważ, że sysmail_add_principalprofile_sp
procedura składowana znajduje się w msdb
bazy danych i jest własnością dbo
schemat. Dlatego będziesz musiał użyć trzyczęściowego nazewnictwa, jeśli wykonasz je spoza msdb
baza danych.
Profile publiczne
Możesz także ustawić profil jako domyślny profil publiczny dla użytkowników w msdb baza danych.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Public Profile',
@principal_name = 'public',
@is_default = 1;
Aby ustawić profil jako publiczny, określ @principal_id
z 0
lub @principal_name
z public
. Profil publiczny jest dostępny dla wszystkich użytkowników w msdb baza danych (chociaż użytkownicy muszą być również członkami DatabaseMailUserRole wykonać sp_send_dbmail
).
Pamiętaj, że może istnieć tylko jeden domyślny profil publiczny.
Konfigurowanie poczty bazy danych
W powyższych krokach założono, że utworzono już profil poczty bazy danych i dodano do tego profilu co najmniej jedno konto poczty bazy danych.
Zobacz Jak wysłać wiadomość e-mail w SQL Server, aby zapoznać się z pełnym przykładem konfiguracji poczty bazy danych, a następnie wysyłania wiadomości e-mail.