Dela via


Konfigurationsobjekt för databaspost

gäller för:SQL ServerAzure SQL Managed Instance

Med databaskonfigurationsobjekt kan du konfigurera de inställningar som Databas-e-post ska använda när du skickar ett e-postmeddelande från databasprogrammet eller SQL Server-agenten.

Användaren kan beviljas säker åtkomst till Database Mail-profiler. Profiler använder Database Mail-konton.

<>

Följande bild visar två profiler, tre konton och tre användare. Användare 1 har åtkomst till profil 1, som använder konto 1 och konto 2. Användare 3 har åtkomst till profil 2, som använder konto 2 och konto 3. Användare 2 har åtkomst till både profil 1 och profil 2.

Bild av relationen mellan användare, profiler och konton i Database Mail.

Databas-e-postkonto

Ett Database Mail-konto innehåller den information som Microsoft SQL Server använder för att skicka e-postmeddelanden till en SMTP-server. Varje konto innehåller information för en e-postserver.

En Database Mail har stöd för tre autentiseringsmetoder för att kommunicera med en SMTP-server:

  • Windows-autentisering: Database Mail använder autentiseringsuppgifterna för SQL Server Database Engine Windows-tjänstkontot för autentisering på SMTP-servern.

  • Grundläggande autentisering: Database Mail använder användarnamnet och lösenordet som angetts för att autentisera på SMTP-servern.

  • Anonym autentisering: SMTP-servern kräver ingen autentisering. Database Mail använder inga autentiseringsuppgifter för att autentisera på SMTP-servern.

Kontoinformation lagras i systemdatabasen msdb , inklusive namn, beskrivning, e-postadress, svars-till-e-post, e-postserver och serverautentiseringsinformation.

Konfigurationsguiden för databaspost är ett bekvämt sätt att skapa och hantera konton. Du kan också använda de konfigurations lagrade procedurerna i msdb för att skapa och hantera konton.

Database Mail-profil

En Database Mail-profil är en ordnad samling relaterade Database Mail-konton. Program som skickar e-post med hjälp av Database Mail anger profiler i stället för att använda konton direkt.

Om du separerar information om de enskilda e-postservrarna från de objekt som programmet använder förbättras flexibiliteten och tillförlitligheten: profiler ger automatisk redundans, så att om en e-postserver inte svarar kan Database Mail automatiskt skicka e-post till en annan e-postserver. Databasadministratörer kan lägga till, ta bort eller konfigurera om konton utan att kräva ändringar i programkoden eller jobbstegen.

Profiler hjälper även databasadministratörer att styra åtkomsten till e-post. Medlemskap i DatabaseMailUserRole krävs för att skicka Database Mail. Profiler ger ytterligare flexibilitet för administratörer att styra vem som skickar e-post och vilka konton som används.

En profil kan vara offentlig eller privat. Som standard är en profil privat och tillåter endast åtkomst till medlemmar i den fasta serverrollen sysadmin .

  • Offentliga profiler är tillgängliga för alla medlemmar i databasrollen DatabaseMailUserRole i systemdatabasen msdb . De tillåter alla medlemmar i rollen DatabaseMailUserRole att skicka e-post med hjälp av profilen.

  • Privata profiler definieras för säkerhetsobjekt i msdb databasen. De tillåter endast att angivna databasanvändare, roller och medlemmar i den fasta serverrollen sysadmin skickar e-post med hjälp av profilen. Om du vill använda en privat profil måste sysadmin ge användarna behörighet att använda profilen. Dessutom beviljas KÖR-behörighet för den sp_send_dbmail lagrade proceduren endast medlemmar i DatabaseMailUserRole. En systemadministratör måste lägga till användaren i databasrollen DatabaseMailUserRole för att användaren ska kunna skicka e-postmeddelanden.

Profilsekvensnummer

Profiler förbättrar tillförlitligheten i fall där en e-postserver inte kan nås eller inte kan bearbeta meddelanden. Varje konto i profilen har ett sekvensnummer. Sekvensnumret avgör i vilken ordning Database Mail använder konton i profilen.

För ett nytt e-postmeddelande använder Database Mail det senaste kontot som skickade ett meddelande eller det konto som har det lägsta sekvensnumret om inget meddelande ännu har skickats. Om kontot misslyckas använder Database Mail kontot med det näst högsta sekvensnumret och så vidare tills antingen Database Mail skickar meddelandet eller så misslyckas kontot med det högsta sekvensnumret. Om kontot med det högsta sekvensnumret misslyckas pausar Database Mail försöken att skicka e-postmeddelandet under den tid som konfigurerats i parametern AccountRetryDelayför sysmail_configure_sp och startar sedan processen med att försöka skicka e-postmeddelandet igen, med början med det lägsta sekvensnumret.

Använd parametern AccountRetryAttemptssysmail_configure_sp för för att konfigurera antalet gånger som den externa e-postprocessen försöker skicka e-postmeddelandet med varje konto i den angivna profilen.

Om det finns fler än ett konto med samma sekvensnummer använder Database Mail bara ett av dessa konton för ett visst e-postmeddelande. I det här fallet ger Database Mail inga garantier för vilket av kontona som används för sekvensnumret eller att samma konto används från meddelande till meddelande.

Konfigurationsåtgärder för Database Mail

I följande tabell beskrivs konfigurationsuppgifterna för Database Mail.

Konfigurationsuppgift Ämneslänk
Beskriver hur du skapar ett Databas-e-postkonto Skapa ett databas-e-postkonto
Beskriver hur du skapar database mail-profiler Skapa en databas-epostprofil
Beskriver hur du konfigurerar databas-e-post Konfigurera Database Mail

Ytterligare databaskonfigurationsuppgifter (system lagrade procedurer)

Lagrade procedurer för Database Mail-konfiguration finns i msdb databasen.

I följande tabeller visas de lagrade procedurer som används för att konfigurera och hantera Database Mail.

Inställningar för Database Mail

Namn Beskrivning
sysmail_configure_sp (Transact-SQL) Ändrar konfigurationsinställningarna för Database Mail.
sysmail_help_configure_sp (Transact-SQL) Visar konfigurationsinställningar för Database Mail.

Konton och profiler

Namn Beskrivning
sysmail_add_profileaccount_sp (Transact-SQL) Lägger till ett e-postkonto i en Database Mail-profil.
sysmail_delete_account_sp (Transact-SQL) Tar bort ett Databas-e-postkonto.
sysmail_delete_profile_sp (Transact-SQL) Tar bort en Database Mail-profil.
sysmail_delete_profileaccount_sp (Transact-SQL) Tar bort ett konto från en Database Mail-profil.
sysmail_help_account_sp (Transact-SQL) Visar information om Databas-e-postkonton.
sysmail_help_profile_sp (Transact-SQL) Visar information om en eller flera Database Mail-profiler.
sysmail_help_profileaccount_sp (Transact-SQL) Visar en lista över konton som är associerade med en eller flera Database Mail-profiler.
sysmail_update_account_sp (Transact-SQL) Uppdaterar informationen i ett befintligt Database Mail-konto.
sysmail_update_profile_sp (Transact-SQL) Ändrar beskrivningen eller namnet på en Database Mail-profil.
sysmail_update_profileaccount_sp (Transact-SQL) Uppdaterar sekvensnumret för ett konto i en Database Mail-profil.

Säkerhet

Namn Beskrivning
sysmail_add_principalprofile_sp (Transact-SQL) Ger behörighet för en databasprincipal att använda en databasbrevprofil.
sysmail_delete_principalprofile_sp (Transact-SQL) Tar bort behörighet för en databasanvändare att använda en offentlig eller privat Database Mail-profil.
sysmail_help_principalprofile_sp (Transact-SQL) Visar en lista med profilinformation för en viss databasanvändare.
sysmail_update_principalprofile_sp (Transact-SQL) Uppdaterar behörighetsinformationen för en viss databasanvändare.

Systemtillstånd

Namn Beskrivning
sysmail_start_sp (Transact-SQL) Startar det externa programmet Database Mail och den associerade SQL Service Broker-kön.
sysmail_stop_sp (Transact-SQL) Stoppar det externa programmet Database Mail och den associerade SQL Service Broker-kön.
sysmail_help_status_sp (Transact-SQL) Anger om Database Mail har startats.