Delen via


Database Mail configuratieobjecten

Van toepassing op:SQL ServerAzure SQL Managed Instance

Databaseconfiguratieobjecten bieden een manier om de instellingen te configureren die Database-e-mail moet gebruiken bij het verzenden van een e-mail vanuit uw databasetoepassing of SQL Server Agent.

De gebruiker kan beveiligde toegang krijgen tot Database Mail-profielen. Profielen maken gebruik van Database Mail-accounts.

<>

In de volgende afbeelding ziet u twee profielen, drie accounts en drie gebruikers. Gebruiker 1 heeft toegang tot Profiel 1, waarbij Account 1 en Account 2 worden gebruikt. Gebruiker 3 heeft toegang tot Profiel 2, waarbij Account 2 en Account 3 worden gebruikt. Gebruiker 2 heeft toegang tot zowel Profiel 1 als Profiel 2.

Afbeelding van de relatie van gebruikers, profielen en accounts in Database Mail.

Database-e-mailaccount

Een Database Mail-account bevat de informatie die Microsoft SQL Server gebruikt voor het verzenden van e-mailberichten naar een SMTP-server. Elk account bevat informatie voor één e-mailserver.

Een Database Mail ondersteunt drie verificatiemethoden om te communiceren met een SMTP-server:

  • Windows-verificatie: Database Mail gebruikt de referenties van het Windows-serviceaccount van SQL Server Database Engine voor verificatie op de SMTP-server.

  • Basisverificatie: Database Mail gebruikt de gebruikersnaam en het wachtwoord die zijn opgegeven voor verificatie op de SMTP-server.

  • Anonieme verificatie: de SMTP-server vereist geen verificatie. Database Mail gebruikt geen inloggegevens voor verificatie op de SMTP-server.

Accountgegevens worden opgeslagen in de msdb systeemdatabase, met inbegrip van de naam, beschrijving, e-mailadres, antwoord op e-mail, e-mailserver en serververificatiegegevens.

De wizard Database Mail configureren biedt een handige manier om accounts te maken en te beheren. U kunt ook de opgeslagen configuratieprocedures msdb gebruiken om accounts te maken en te beheren.

Database Mail-profiel

Een Database Mail-profiel is een geordende verzameling gerelateerde Database Mail-accounts. Toepassingen die e-mail verzenden met database-mail, geven profielen op in plaats van accounts rechtstreeks te gebruiken.

Het scheiden van informatie over de afzonderlijke e-mailservers van de objecten die de toepassing gebruikt, verbetert de flexibiliteit en betrouwbaarheid: profielen bieden automatische failover, zodat als één e-mailserver niet reageert, Database Mail automatisch e-mail kan verzenden naar een andere e-mailserver. Databasebeheerders kunnen accounts toevoegen, verwijderen of opnieuw configureren zonder dat er wijzigingen in toepassingscode of taakstappen nodig zijn.

Profielen helpen databasebeheerders ook de toegang tot e-mail te beheren. Lidmaatschap van de DatabaseMailUserRole is vereist voor het verzenden van Database Mail. Profielen bieden extra flexibiliteit voor beheerders om te bepalen wie e-mail verzendt en welke accounts worden gebruikt.

Een profiel kan openbaar of privé zijn. Standaard is een profiel privé en heeft alleen toegang tot leden van de vaste serverfunctie sysadmin .

  • Openbare profielen zijn beschikbaar voor alle leden van de DatabaseMailUserRole databaserol in de msdb systeemdatabase. Hiermee kunnen alle leden van de rol DatabaseMailUserRole e-mail verzenden met behulp van het profiel.

  • Privéprofielen worden gedefinieerd voor beveiligingsprinciplen in de msdb database. Ze staan alleen opgegeven databasegebruikers, rollen en leden van de vaste serverrol sysadmin toe om e-mail te verzenden met behulp van het profiel. Als u een privéprofiel wilt gebruiken, moet sysadmin gebruikers toestemming geven om het profiel te gebruiken. Daarnaast wordt de EXECUTE-machtiging voor de sp_send_dbmail opgeslagen procedure alleen verleend aan leden van de DatabaseMailUserRole. Een systeembeheerder moet de gebruiker toevoegen aan de databaserol DatabaseMailUserRole , zodat de gebruiker e-mailberichten kan verzenden.

Volgnummers van profielen

Profielen verbeteren de betrouwbaarheid in gevallen waarin een e-mailserver onbereikbaar wordt of geen berichten kan verwerken. Elk account in het profiel heeft een volgnummer. Het volgnummer bepaalt de volgorde waarin Database Mail accounts in het profiel gebruikt.

Voor een nieuw e-mailbericht gebruikt Database Mail het laatste account dat een bericht heeft verzonden, of het account met het laagste volgnummer als er nog geen bericht is verzonden. Als dat account mislukt, gebruikt Database Mail het account met het eerstvolgende hoogste volgnummer, enzovoort totdat Database Mail het bericht met succes verzendt, of het account met het hoogste volgnummer mislukt. Als het account met het hoogste volgnummer mislukt, onderbreekt database-e-mail pogingen om de e-mail te verzenden voor de hoeveelheid tijd die is geconfigureerd in de parameter AccountRetryDelay van sysmail_configure_sp, waarna het proces voor het opnieuw verzenden van de e-mail wordt gestart, beginnend met het laagste volgnummer.

Gebruik de AccountRetryAttempts parameter van sysmail_configure_sp om het aantal keren te configureren dat het externe mailproces probeert het e-mailbericht te verzenden met elk account in het opgegeven profiel.

Als er meer dan één account bestaat met hetzelfde volgnummer, gebruikt Database Mail slechts één van deze accounts voor een bepaald e-mailbericht. In dit geval geeft Database Mail geen garanties over welke van de accounts wordt gebruikt voor dat volgnummer of dat hetzelfde account wordt gebruikt van bericht naar bericht.

Database Mail-configuratietaken

In de volgende tabel worden de database-mailconfiguratietaken beschreven.

Configuratietaak Link naar onderwerp
Hierin wordt beschreven hoe u een Database Mail-account maakt Een database-e-mailaccount maken
Hierin wordt beschreven hoe u Database Mail-profielen maakt Een database-e-mailprofiel maken
Beschrijft hoe u database-e-mail configureert Database Mail configureren

Aanvullende databaseconfiguratietaken (door het systeem opgeslagen procedures)

Opgeslagen procedures voor database-mailconfiguratie bevinden zich in de msdb database.

De volgende tabellen bevatten de opgeslagen procedures die worden gebruikt voor het configureren en beheren van Database Mail.

Database Mail-instellingen

Naam Beschrijving
sysmail_configure_sp (Transact-SQL) Hiermee wijzigt u de configuratie-instellingen voor Database Mail.
sysmail_help_configure_sp (Transact-SQL) Geeft configuratie-instellingen weer voor Database Mail.

Accounts en profielen

Naam Beschrijving
sysmail_add_profileaccount_sp (Transact-SQL) Hiermee voegt u een e-mailaccount toe aan een Database Mail-profiel.
sysmail_delete_account_sp (Transact-SQL) Hiermee verwijdert u een Database Mail-account.
sysmail_delete_profile_sp (Transact-SQL) Hiermee verwijdert u een Database Mail-profiel.
sysmail_delete_profileaccount_sp (Transact-SQL) Hiermee verwijdert u een account uit een Database Mail-profiel.
sysmail_help_account_sp (Transact-SQL) Bevat informatie over Database Mail-accounts.
sysmail_help_profile_sp (Transact-SQL) Bevat informatie over een of meer Database Mail-profielen.
sysmail_help_profileaccount_sp (Transact-SQL) Hiermee worden de accounts weergegeven die zijn gekoppeld aan een of meer Database Mail-profielen.
sysmail_update_account_sp (Transact-SQL) Hiermee werkt u de informatie in een bestaand Database Mail-account bij.
sysmail_update_profile_sp (Transact-SQL) Hiermee wijzigt u de beschrijving of naam van een Database Mail-profiel.
sysmail_update_profileaccount_sp (Transact-SQL) Hiermee wordt het volgnummer van een account in een Database Mail-profiel bijgewerkt.

Veiligheid

Naam Beschrijving
sysmail_add_principalprofile_sp (Transact-SQL) Verleent toestemming voor een database-principal om een Database Mail-profiel te gebruiken.
sysmail_delete_principalprofile_sp (Transact-SQL) Hiermee verwijdert u de machtiging voor een databasegebruiker voor het gebruik van een openbaar of privé Database Mail-profiel.
sysmail_help_principalprofile_sp (Transact-SQL) Een lijst met database-mailprofielgegevens voor een bepaalde databasegebruiker.
sysmail_update_principalprofile_sp (Transact-SQL) Hiermee werkt u de machtigingsgegevens voor een bepaalde databasegebruiker bij.

Systeemstatus

Naam Beschrijving
sysmail_start_sp (Transact-SQL) Hiermee start u het externe programma Database Mail en de bijbehorende SQL Service Broker-wachtrij.
sysmail_stop_sp (Transact-SQL) Hiermee stopt u het externe programma Database Mail en de bijbehorende SQL Service Broker-wachtrij.
sysmail_help_status_sp (Transact-SQL) Geeft aan of Database Mail is gestart.