Om e-mail te verzenden met Database Mail in SQL Server, moet een gebruiker lid zijn van de DatabaseMailUserRole in de msdb database en toegang hebben tot ten minste één Database Mail-profiel.
Om een gebruiker toegang te verlenen tot een Database Mail-profiel met T-SQL, gebruikt u de sysmail_add_principalprofile_sp
opgeslagen procedure in de msdb
databank.
Voorbeeld
Hier is een voorbeeld om te demonstreren.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Admin Profile',
@principal_name = 'Marge',
@is_default = 1;
In dit geval verleen ik de gebruiker “Marge” toegang tot het profiel “DB Admin Profile”.
Dit veronderstelt dat het profiel en de gebruiker al bestaan.
In dit geval heb ik ook @is_default = 1
. opgegeven , waardoor dit het standaardprofiel voor de gebruiker is.
Geef gebruikers-/profiel-ID's op
U kunt ook de gebruikers-ID en/of de account-ID opgeven in plaats van hun namen.
Daarom zouden we het vorige voorbeeld kunnen veranderen om er ongeveer zo uit te zien:
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_id = 1,
@principal_id = 25,
@is_default = 1;
Dit veronderstelt uiteraard dat dit de ID's zijn voor de betreffende accounts.
Merk op dat ofwel de naam ofwel de ID moet worden opgegeven.
Bij het verstrekken van de ID's worden ze ook verstrekt als int .
Merk op dat de sysmail_add_principalprofile_sp
opgeslagen procedure staat in de msdb
database, en het is eigendom van de dbo
schema. Daarom moet u een driedelige naamgeving gebruiken als u deze van buiten de msdb
uitvoert database.
Openbare profielen
U kunt van een profiel ook het standaard openbare profiel voor gebruikers maken in de msdb database.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Public Profile',
@principal_name = 'public',
@is_default = 1;
Om een profiel openbaar te maken, specificeert u een @principal_id
van 0
of een @principal_name
van public
. Een openbaar profiel is beschikbaar voor alle gebruikers in de msdb database (hoewel gebruikers ook lid moeten zijn van DatabaseMailUserRole om sp_send_dbmail
uit te voeren ).
Houd er rekening mee dat er maar één standaard openbaar profiel kan zijn.
Database-e-mail configureren
Bij de bovenstaande stappen wordt ervan uitgegaan dat u al een Database Mail-profiel hebt gemaakt en ten minste één Database Mail-account aan dat profiel hebt toegevoegd.
Zie E-mail verzenden in SQL Server voor een compleet voorbeeld van het configureren van Database Mail en vervolgens het verzenden van een e-mail.