Konfigurationsobjekte für Datenbank-E-MailDatabase Mail Configuration Objects

Datenbank-E-Mail verfügt über zwei Konfigurationsobjekte: Mit den Datenbankkonfigurationsobjekten können Sie die Einstellungen konfigurieren, die von Datenbank-E-Mail beim Senden einer E-Mail von der Datenbankanwendung oder vom SQL ServerSQL Server -Agent verwendet werden sollen.Database Mail has two configuration objects: The database configuration objects provide a way for you to configure the settings that Database mail should use when sending an email from your database application or SQL ServerSQL Server Agent.

  • Datenbank-E-Mail-KontenDatabase Mail accounts

  • Datenbank-E-Mail-ProfileDatabase Mail profiles

Beziehung der Konfigurationsobjekte für Datenbank-E-Mail Database Mail Configuration Object Relationship

In der Abbildung werden zwei Profile, drei Konten und drei Benutzer veranschaulicht.The illustration shows two profiles, three accounts, and three users. Benutzer 1 kann auf Profil 1 zugreifen. Dieses Profil verwendet Konto 1 und Konto 2.User 1 has access to Profile 1, which uses Account 1 and Account 2. Benutzer 3 kann auf Profil 2 zugreifen. Dieses Profil verwendet Konto 2 und Konto 3.User 3 has access to Profile 2, which uses Account 2 and Account 3. Benutzer 2 kann auf Profil 1 und Profil 2 zugreifen.User 2 has access to both Profile 1 and Profile 2.

Beziehung von Benutzern, Profilen und KontenRelationship of users, profiles, and accounts

Datenbank-E-Mail-Konto Database Mail Account

Ein Datenbank-E-Mail-Konto enthält die Informationen, die Microsoft SQL ServerSQL Server zum Senden von E-Mail-Nachrichten an einen SMTP-Server verwendet.A Database Mail account contains the information that Microsoft SQL ServerSQL Server uses to send e-mail messages to an SMTP server. Jedes Konto enthält Informationen für einen E-Mail-Server.Each account contains information for one e-mail server.

Datenbank-E-Mail unterstützt drei Methoden der Authentifizierung für die Kommunikation mit einem SMTP-Server:A Database Mail supports three methods of authentication to communicate with an SMTP server:

  • Windows-Authentifizierung: Datenbank-E-Mail verwendet dieselben Anmeldeinformationen wie das SQL Server-DatenbankmodulSQL Server Database Engine Windows-Dienstkonto zur Authentifizierung auf dem SMTP-Server.Windows Authentication: Database Mail uses the credentials of the SQL Server-DatenbankmodulSQL Server Database Engine Windows service account for authentication on the SMTP server.

  • Standardauthentifizierung: Datenbank-E-Mail verwendet den angegebenen Benutzernamen und das angegebene Kennwort zur Authentifizierung auf dem SMTP-Server.Basic Authentication: Database Mail uses the username and password specified to authenticate on the SMTP server.

  • Anonyme Authentifizierung: Der SMTP-Server erfordert keinerlei Authentifizierung.Anonymous Authentication: The SMTP server does not require any authentication. Datenbank-E-Mail verwendet keinerlei Anmeldeinformationen zur Authentifizierung auf dem SMTP-Server.Database Mail will not use any credentials to authenticate on the SMTP server.

    Die Kontoinformationen werden in der msdb -Datenbank gespeichert.Account information is stored in the msdb database. Jedes Konto besteht aus den folgenden Informationen:Each account consists of the following information:

  • Der Name des Kontos.The name of the account.

  • Eine Beschreibung des Kontos.A description of the account.

  • Die E-Mail-Adresse des Kontos.The e-mail address of the account.

  • Der Anzeigename des Kontos.The display name for the account.

  • Die E-Mail-Adresse, die als Antwortinformation für das Konto verwendet werden soll.The e-mail address to use as the reply-to information for the account.

  • Der Name des E-Mail-Servers.The name of the e-mail server.

  • Der Typ des E-Mail-Servers.The type of the e-mail server. Bei MicrosoftMicrosoft SQL ServerSQL Serverhandelt es sich dabei immer um Simple Mail Transfer Protocol (SMTP).For MicrosoftMicrosoft SQL ServerSQL Server, this is always Simple Mail Transfer Protocol(SMTP).

  • Die Portnummer des E-Mail-ServersThe port number of the e-mail server.

  • Eine Spalte des bit-Datentyps gibt an, ob die Verbindung zum SMTP-Mailserver mithilfe von SSL (Secure Sockets Layer) hergestellt wird.A bit column indicating whether the connection to the SMTP mail server is made using Secure Sockets Layer (SSL).

  • Eine Spalte des bit-Datentyps gibt an, ob die Verbindung zum SMTP-Server mithilfe der für SQL Server-DatenbankmodulSQL Server Database Enginekonfigurierten Anmeldeinformationen hergestellt wird.A bit column indicating whether the connection to the SMTP server is made using the credentials configured for the SQL Server-DatenbankmodulSQL Server Database Engine.

  • Der Benutzername für die Authentifizierung beim E-Mail-Server, wenn der E-Mail-Server eine Authentifizierung erfordert.The user name to use for authentication to the e-mail server, if the e-mail server requires authentication.

  • Das Kennwort für die Authentifizierung beim E-Mail-Server, wenn der E-Mail-Server eine Authentifizierung erfordert.The password to use for authentication to the e-mail server, if the e-mail server requires authentication.

    Der Assistent zum Konfigurieren von Datenbank-E-Mail bietet bequeme Möglichkeiten zum Erstellen und Verwalten von Konten.The Database Mail Configuration Wizard provides a convenient way to create and manage accounts. Sie können auch die gespeicherten Konfigurationsprozeduren in msdb zum Erstellen und Verwalten von Konten verwenden.You can also use the configuration stored procedures in msdb to create and manage accounts.

Datenbank-E-Mail-Profil Database Mail Profile

Ein Datenbank-E-Mail-Profil ist eine sortierte Sammlung zusammengehöriger Datenbank-E-Mail-Konten.A Database Mail profile is an ordered collection of related Database Mail accounts. In Anwendungen, mit denen E-Mails mithilfe von Datenbank-E-Mail gesendet werden, werden Profile angegeben und Konten nicht direkt verwendet.Applications that send e-mail using Database Mail specify profiles, instead of using accounts directly. Das Trennen der Informationen zu den einzelnen E-Mail-Servern von den Objekten, die die Anwendung verwendet, verbessert die Flexibilität und Zuverlässigkeit: Profile stellen automatisches Failover bereit; wenn ein E-Mail-Server nicht reagiert, kann Datenbank-E-Mail E-Mails automatisch an einen anderen E-Mail-Server senden.Separating information about the individual e-mail servers from the objects that the application uses improves flexibility and reliability: profiles provide automatic failover, so that if one e-mail server is unresponsive, Database Mail can automatically send mail to another e-mail server. Datenbankadministratoren können Konten hinzufügen, entfernen oder neu konfigurieren, ohne dass Änderungen am Anwendungscode oder den Auftragsschritten erforderlich sind.Database administrators can add, remove, or reconfigure accounts without requiring changes to application code or job steps.

Über Profile können Datenbankadministratoren auch den E-Mail-Zugriff besser kontrollieren.Profiles also help database administrators control access to e-mail. Die Mitgliedschaft in DatabaseMailUserRole ist zum Senden von Datenbank-E-Mail erforderlich.Membership in the DatabaseMailUserRole is required to send Database Mail. Profile bieten Administratoren bei der Steuerung der Benutzer, die E-Mails senden, und der verwendeten Konten zusätzliche Flexibilität.Profiles provide additional flexibility for administrators to control who sends mail and which accounts are used.

Ein Profil kann öffentlich oder privat sein.A profile may be public or private.

Öffentliche Profile sind für alle Mitglieder der Datenbankrolle DatabaseMailUserRole in der msdb -Datenbank verfügbar.Public profiles are available for all members of the DatabaseMailUserRole database role in the msdb database. Damit können Mitglieder der Datenbankrolle DatabaseMailUserRole mithilfe des Profils E-Mails versenden.They allow all members of the DatabaseMailUserRole role to send e-mail using the profile.

Private Profile werden für Sicherheitsprinzipale in der msdb -Datenbank definiert.Private profiles are defined for security principals in the msdb database. Sie ermöglichen nur bestimmten Datenbankbenutzern, -rollen und Mitgliedern der festen Serverrolle sysadmin das Senden von E-Mail mithilfe des Profils.They allow only specified database users, roles, and members of the sysadmin fixed server role to send e-mail using the profile. Standardmäßig ist ein Profil privat, und der Zugriff darauf kann nur durch Mitglieder der festen Serverrolle sysadmin erfolgen.By default, a profile is private, and allows access only to members of the sysadmin fixed server role. Um ein privates Profil zu verwenden, muss sysadmin Benutzern die Berechtigung zum Verwenden des Profils erteilen.To use a private profile, sysadmin must grant users permission to use the profile. Darüber hinaus wird die EXECUTE-Berechtigung für die gespeicherte Prozedur sp_send_dbmail nur Mitgliedern von DatabaseMailUserRoleerteilt.Additionally, EXECUTE permission on the sp_send_dbmail stored procedure is only granted to members of the DatabaseMailUserRole. Ein Systemadministrator muss der Datenbankrolle DatabaseMailUserRole den Benutzer hinzufügen, damit der Benutzer E-Mail-Nachrichten senden kann.A system administrator must add the user to the DatabaseMailUserRole database role for the user to send e-mail messages.

Profile verbessern die Zuverlässigkeit in Fällen, in denen ein E-Mail-Server nicht erreichbar ist oder die Nachrichten nicht verarbeiten kann.Profiles improve reliability in cases where an e-mail server becomes unreachable or unable to process messages. Jedes im Profil enthaltene Konto besitzt eine Sequenznummer.Each account in the profile has a sequence number. Über die Sequenznummer wird die Reihenfolge festgelegt, in der Konten im Profil von Datenbank-E-Mail verwendet werden.The sequence number determines the order in which Database Mail uses accounts in the profile. Bei einer neuen E-Mail-Nachricht verwendet Datenbank-E-Mail das letzte Konto, über das eine Nachricht erfolgreich gesendet wurde, oder – falls noch keine Nachricht gesendet wurde – das Konto mit der niedrigsten Sequenznummer.For a new e-mail message, Database Mail uses the last account that sent a message successfully, or the account that has the lowest sequence number if no message has yet been sent. Wenn dieses Konto fehlschlägt, verwendet Datenbank-E-Mail das Konto mit der nächsthöheren Sequenznummer usw., bis entweder Datenbank-E-Mail die Nachricht erfolgreich versendet oder das Konto mit der höchsten Sequenznummer fehlschlägt.Should that account fail, Database Mail uses the account with the next highest sequence number, and so on until either Database Mail sends the message successfully, or the account with the highest sequence number fails. Wenn das Konto mit der höchsten Sequenznummer fehlschlägt, unterbricht die Datenbank-E-Mail die Versuche zum Senden der E-Mail für den Zeitraum, der im AccountRetryDelay -Parameter von sysmail_configure_spkonfiguriert ist. Danach wird das Senden der E-Mail erneut gestartet, wobei mit der niedrigsten Sequenznummer begonnen wird.If the account with the highest sequence number fails, the Database Mail pauses attempts to send the mail for the amount of time configured in the AccountRetryDelay parameter of sysmail_configure_sp, then starts the process of attempting to send the mail again, starting with the lowest sequence number. Verwenden Sie den AccountRetryAttempts -Parameter von sysmail_configure_sp, um zu konfigurieren, wie oft der externe Mailprozess versuchen soll, die E-Mail-Nachricht mithilfe der einzelnen Konten im angegebenen Profil zu senden.Use the AccountRetryAttempts parameter of sysmail_configure_sp, to configure the number of times that the external mail process attempts to send the e-mail message using each account in the specified profile.

Sind mehrere Konten mit der gleichen Sequenznummer vorhanden, verwendet Datenbank-E-Mail nur eines dieser Konten für eine bestimmte E-Mail-Nachricht.If more than one account exists with the same sequence number, Database Mail only uses one of those accounts for a given e-mail message. In diesem Fall kann Datenbank-E-Mail nicht sicherstellen, welches der Konten für diese Sequenznummer verwendet wird oder dass für die einzelnen Nachrichten jeweils dasselbe Konto verwendet wird.In this case, Database Mail makes no guarantees as to which of the accounts is used for that sequence number or that the same account is used from message to message.

Konfigurationstasks von Datenbank-E-Mail Database Mail Configuration Tasks

In der folgenden Tabelle werden die Konfigurationstasks von Datenbank-E-Mail beschrieben.The following table describes the Database Mail configuration tasks.

KonfigurationstaskConfiguration Task ThemenlinkTopic Link
Beschreibt, wie Datenbank-E-Mail-Konten erstellt werdenDescribes how to create a Database Mail accounts Erstellen eines Kontos für Datenbank-E-MailCreate a Database Mail Account
Beschreibt, wie Datenbank-E-Mail-Profile erstellt werdenDescribes how to Create Database Mail profiles Erstellen eines Profils für Datenbank-E-MailCreate a Database Mail Profile
Beschreibt, wie Datenbank-E-Mail konfiguriert wirdDescribes how to Configure Database mail Konfigurieren des Datenbank-E-Mail-FeaturesConfigure Database Mail
Beschreibt, wie ein Konfigurationsskript für Datenbank-E-Mail anhand von Vorlagen erstellt wirdDescribes how to create a Database Mail configuration script using templates

Zusätzliche Datenbankkonfigurationstasks (gespeicherte Systemprozeduren) Additional Database Configuration Tasks (System Stored Procedures)

Die gespeicherten Prozeduren für das Konfigurieren von Datenbank-E-Mail befinden sich in der msdb -Datenbank.Database Mail configuration stored procedures are located in the msdb database.

In den folgenden Tabellen sind die gespeicherten Prozeduren aufgelistet, die zum Konfigurieren und Verwalten von Datenbank-E-Mail verwendet werden.The following tables list the stored procedures used for configuring and managing Database Mail.

Datenbank-E-Mail-EinstellungenDatabase Mail Settings

NameName BeschreibungDescription
sysmail_configure_sp (Transact-SQL)sysmail_configure_sp (Transact-SQL) Ändert Konfigurationseinstellungen für Datenbank-E-Mail.Changes configuration settings for Database Mail.
sysmail_help_configure_sp (Transact-SQL)sysmail_help_configure_sp (Transact-SQL) Zeigt Konfigurationseinstellungen für Datenbank-E-Mail an.Displays configuration settings for Database Mail.

Konten und ProfileAccounts and Profiles

NameName BeschreibungDescription
sysmail_add_profileaccount_sp (Transact-SQL)sysmail_add_profileaccount_sp (Transact-SQL) Fügt einem Datenbank-E-Mail-Profil ein E-Mail-Konto hinzu.Adds a mail account to a Database Mail profile.
sysmail_delete_account_sp (Transact-SQL)sysmail_delete_account_sp (Transact-SQL) Löscht ein Datenbank-E-Mail-Konto.Deletes a Database Mail account.
sysmail_delete_profile_sp (Transact-SQL)sysmail_delete_profile_sp (Transact-SQL) Löscht ein Datenbank-E-Mail-Profil.Deletes a Database Mail profile.
sysmail_delete_profileaccount_sp (Transact-SQL)sysmail_delete_profileaccount_sp (Transact-SQL) Entfernt ein Konto aus einem Datenbank-E-Mail-Profil.Removes an account from a Database Mail profile.
sysmail_help_account_sp (Transact-SQL)sysmail_help_account_sp (Transact-SQL) Listet Informationen zu Datenbank-E-Mail-Konten auf.Lists information about Database Mail accounts.
sysmail_help_profile_sp (Transact-SQL)sysmail_help_profile_sp (Transact-SQL) Listet Informationen zu einem oder mehreren Datenbank-E-Mail-Profilen auf.Lists information about one or more Database Mail profiles.
sysmail_help_profileaccount_sp (Transact-SQL)sysmail_help_profileaccount_sp (Transact-SQL) Listet die Konten auf, die einem oder mehreren Datenbank-E-Mail-Profilen zugeordnet sind.Lists the accounts associated with one or more Database Mail profiles.
sysmail_update_account_sp (Transact-SQL)sysmail_update_account_sp (Transact-SQL) Aktualisiert die Informationen in einem vorhandenen Datenbank-E-Mail-Konto.Updates the information in an existing Database Mail account.
sysmail_update_profile_sp (Transact-SQL)sysmail_update_profile_sp (Transact-SQL) Ändert die Beschreibung oder den Namen eines Datenbank-E-Mail-Profils.Changes the description or name of a Database Mail profile.
sysmail_update_profileaccount_sp (Transact-SQL)sysmail_update_profileaccount_sp (Transact-SQL) Aktualisiert die Sequenznummer eines Kontos innerhalb eines Datenbank-E-Mail-Profils.Updates the sequence number of an account within a Database Mail profile.

SicherheitSecurity

NameName BeschreibungDescription
sysmail_add_principalprofile_sp (Transact-SQL)sysmail_add_principalprofile_sp (Transact-SQL) Erteilt einem Datenbankprinzipal die Berechtigung, ein Datenbank-E-Mail-Profil zu verwenden.Grants permission for a database principal to use a Database Mail profile.
sysmail_delete_principalprofile_sp (Transact-SQL)sysmail_delete_principalprofile_sp (Transact-SQL) Entfernt die Berechtigung eines Datenbankbenutzers, ein öffentliches oder privates Datenbank-E-Mail-Profil zu verwenden.Removes permission for a database user to use a public or private Database Mail profile.
sysmail_help_principalprofile_sp (Transact-SQL)sysmail_help_principalprofile_sp (Transact-SQL) Listet Informationen zum Datenbank-E-Mail-Profil für einen bestimmten Datenbankbenutzer auf.Lists Database Mail profile information for a given database user.
sysmail_update_principalprofile_sp (Transact-SQL)sysmail_update_principalprofile_sp (Transact-SQL) Aktualisiert die Berechtigungsinformationen für einen bestimmten Datenbankbenutzer.Updates the permission information for a given database user.

SystemstatusSystem State

NameName BeschreibungDescription
sysmail_start_sp (Transact-SQL)sysmail_start_sp (Transact-SQL) Startet das externe Datenbank-E-Mail-Programm und die zugehörige SQL Service Broker-Warteschlange.Starts the Database Mail external program and the associated SQL Service Broker queue.
sysmail_stop_sp (Transact-SQL)sysmail_stop_sp (Transact-SQL) Beendet das externe Datenbank-E-Mail-Programm und die zugehörige SQL Service Broker-Warteschlange.Stops the Database Mail external program and the associated SQL Service Broker queue.
sysmail_help_status_sp (Transact-SQL)sysmail_help_status_sp (Transact-SQL) Zeigt an, ob Datenbank-E-Mail gestartet wird.Indicates if Database Mail is started.

Zusätzliche Referenzen Additional References