Per inviare e-mail utilizzando Posta elettronica database in SQL Server, un utente deve essere un membro di DatabaseMailUserRole nel msdb database e avere accesso ad almeno un profilo di Posta elettronica database.
Per concedere a un utente l'accesso a un profilo di Posta elettronica database con T-SQL, utilizzare sysmail_add_principalprofile_sp
stored procedure nel msdb
Banca dati.
Esempio
Ecco un esempio da dimostrare.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Admin Profile',
@principal_name = 'Marge',
@is_default = 1;
In questo caso concedo all'utente “Marge” l'accesso al profilo “DB Admin Profile”.
Ciò presuppone che il profilo e l'utente esistano già.
In questo caso ho anche specificato @is_default = 1
, che lo rende il profilo predefinito per l'utente.
Specifica gli ID utente/profilo
In alternativa puoi specificare l'ID utente e/o l'ID account invece dei loro nomi.
Pertanto, potremmo modificare l'esempio precedente in modo che assomigli a questo:
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_id = 1,
@principal_id = 25,
@is_default = 1;
Questo ovviamente presuppone che quelli siano gli ID per gli account in questione.
Tieni presente che è necessario fornire il nome o l'ID.
Inoltre, quando si forniscono gli ID, vengono forniti come int .
Nota che il sysmail_add_principalprofile_sp
la procedura memorizzata si trova in msdb
database ed è di proprietà del dbo
schema. Pertanto, dovrai utilizzare la denominazione in tre parti se la esegui dall'esterno di msdb
banca dati.
Profili pubblici
Puoi anche impostare un profilo come profilo pubblico predefinito per gli utenti in msdb banca dati.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Public Profile',
@principal_name = 'public',
@is_default = 1;
Per rendere pubblico un profilo, specifica un @principal_id
di 0
o un @principal_name
di public
. Un profilo pubblico è disponibile per tutti gli utenti in msdb database (sebbene gli utenti debbano essere anche membri di DatabaseMailUserRole per eseguire sp_send_dbmail
).
Tieni presente che può esistere un solo profilo pubblico predefinito.
Configurazione della posta database
I passaggi precedenti presuppongono che tu abbia già creato un profilo di posta elettronica database e aggiunto almeno un account di posta elettronica database a tale profilo.
Vedere Come inviare e-mail in SQL Server per un esempio completo di configurazione di Posta elettronica database, quindi invio di un'e-mail.