

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden von Database Mail auf Amazon RDS für SQL Server
<a name="SQLServer.DBMail"></a>

Sie können Database Mail verwenden, um E-Mail-Nachrichten aus Ihrer Amazon RDS auf der SQL Server-Datenbank-Instance an Benutzer zu senden. Die Nachrichten können Dateien und Abfrageergebnisse enthalten. Database Mail enthält die folgenden Komponenten:
+ **Konfigurations- und Sicherheitsobjekte** – Diese Objekte erstellen Profile und Konten und werden in der `msdb`-Datenbank gespeichert.
+ **Messaging-Objekte** – Diese Objekte umfassen die gespeicherte Prozedur [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql), die zum Senden von Nachrichten verwendet wird, und Datenstrukturen, die Informationen über Nachrichten enthalten. Sie sind in der `msdb`-Datenbank gespeichert.
+ **Objekte protokollieren und prüfen** – Database Mail schreibt Protokollierungsinformationen in die `msdb`-Datenbank und das Ereignisprotokoll der Microsoft Windows-Anwendung.
+ Die **ausführbare Datei von Database Mail** – `DatabaseMail.exe` liest aus einer Warteschlange in der `msdb`-Datenbank und sendet E-Mail-Nachrichten.

RDS unterstützt Database Mail für alle SQL Server-Versionen in Web, Standard und Enterprise Editions.

## Einschränkungen
<a name="SQLServer.DBMail.Limitations"></a>

Die folgenden Einschränkungen gelten für die Verwendung von Database Mail auf Ihrer SQL Server-DB-Instance:
+ Database Mail wird für SQL Server Express Edition nicht unterstützt.
+ Das Ändern der Database Mail-Konfigurationsparameter wird nicht unterstützt. Um die voreingestellten (Standard-)Werte zu sehen, verwenden Sie den gespeicherten Prozess [sysmail\$1help\$1configure\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-help-configure-sp-transact-sql).
+ Dateianhänge werden nicht vollständig unterstützt. Weitere Informationen finden Sie unter [Arbeiten mit Dateianlagen](#SQLServer.DBMail.Files).
+ Die maximale Größe des Dateianhangs beträgt 1 MB.
+ Database Mail erfordert zusätzliche Konfiguration für Multi-AZ DB-Instances. Weitere Informationen finden Sie unter [Überlegungen zu Multi-AZ-Bereitstellungen](#SQLServer.DBMail.MAZ).
+ Das Konfigurieren des SQL Server-Agenten zum Senden von E-Mail-Nachrichten an vordefinierte Operatoren wird nicht unterstützt.

# Aktivieren von Database Mail
<a name="SQLServer.DBMail.Enable"></a>

Verwenden Sie den folgenden Prozess, um Database Mail für Ihre DB-Instance zu aktivieren:

1. Neue Parametergruppe erstellen.

1. Ändern Sie die Parametergruppe, um den Parameter `database mail xps` auf „1“ einzustellen.

1. Ordnen Sie die neue Parametergruppe der DB-Instance zu.

## Erstellen der Parametergruppe für Database Mail
<a name="DBMail.CreateParamGroup"></a>

Erstellen oder ändern Sie eine Parametergruppe für den `database mail xps`-Parameter, der der SQL Server-Edition und der Version Ihrer DB-Instance entspricht.

**Anmerkung**  
Sie können auch eine vorhandene Parametergruppe ändern. Folgen Sie dem Verfahren unter [Ändern des Parameters, der Database Mail aktiviert](#DBMail.ModifyParamGroup).

### Konsole
<a name="DBMail.CreateParamGroup.Console"></a>

Im folgenden Beispiel wird eine Parametergruppe für SQL Server Standard Edition 2016 erstellt.

**So erstellen Sie die Parametergruppe**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Wählen Sie im Navigationsbereich **Parameter groups (Parametergruppen)** aus.

1. Wählen Sie **Create parameter group (Parametergruppe erstellen)**.

1. Führen Sie im Bereich **Parametergruppe erstellen** die folgenden Schritte aus:

   1. Wählen Sie für **Parametergruppenfamilie** die Option **sqlserver-se-13.0** aus.

   1. Geben Sie unter **Gruppenname** einen Bezeichner für die Parametergruppe ein, z. B. **dbmail-sqlserver-se-13**.

   1. Geben Sie für **Beschreibung** den Text **Database Mail XPs** ein.

1. Wählen Sie **Create** aus.

### CLI
<a name="DBMail.CreateParamGroup.CLI"></a>

Im folgenden Beispiel wird eine Parametergruppe für SQL Server Standard Edition 2016 erstellt.

**So erstellen Sie die Parametergruppe**
+ Verwenden Sie einen der folgenden Befehle.  
**Example**  

  Für Linux, macOS oder Unix:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "Database Mail XPs"
  ```

  Für Windows:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "Database Mail XPs"
  ```

## Ändern des Parameters, der Database Mail aktiviert
<a name="DBMail.ModifyParamGroup"></a>

Ändern Sie den `database mail xps`-Parameter in der Parametergruppe, die der SQL Server-Edition und der Version Ihrer DB-Instance entspricht.

Um Database Mail zu aktivieren, setzen Sie den Parameter `database mail xps` auf 1.

### Konsole
<a name="DBMail.ModifyParamGroup.Console"></a>

Im folgenden Beispiel wird die Parametergruppe geändert, die Sie für SQL Server Standard Edition 2016 erstellt haben.

**So ändern Sie die Parametergruppe**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Wählen Sie im Navigationsbereich **Parameter groups (Parametergruppen)** aus.

1. Wählen Sie die Parametergruppe, z. B. **dbmail-sqlserver-se-13**.

1. Filtern Sie unter **Parameter** die Parameterliste nach **mail**.

1. Wählen Sie **database mail xps** aus.

1. Wählen Sie **Parameter bearbeiten** aus.

1. Geben Sie ei **1**.

1. Wählen Sie **Änderungen speichern ** aus.

### CLI
<a name="DBMail.ModifyParamGroup.CLI"></a>

Im folgenden Beispiel wird die Parametergruppe geändert, die Sie für SQL Server Standard Edition 2016 erstellt haben.

**So ändern Sie die Parametergruppe**
+ Verwenden Sie einen der folgenden Befehle.  
**Example**  

  Für Linux, macOS oder Unix:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --parameters "ParameterName='database mail xps',ParameterValue=1,ApplyMethod=immediate"
  ```

  Für Windows:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --parameters "ParameterName='database mail xps',ParameterValue=1,ApplyMethod=immediate"
  ```

## Die Parametergruppe der DB-Instance zuordnen
<a name="DBMail.AssocParamGroup"></a>

Sie können das AWS-Managementkonsole oder verwenden AWS CLI , um die Datenbank-E-Mail-Parametergruppe mit der DB-Instance zu verknüpfen.

### Konsole
<a name="DBMail.AssocParamGroup.Console"></a>

Sie können die Database Mail-Parametergruppe einer neuen oder einer vorhandenen DB-Instance zuordnen.
+ Bei einer neuen DB-Instance ordnen Sie diese zu, wenn Sie die Instance starten. Weitere Informationen finden Sie unter [Erstellen einer Amazon-RDS-DB-Instance](USER_CreateDBInstance.md).
+ Bei einer vorhandenen DB-Instance ordnen Sie diese zu, indem Sie die Instance ändern. Weitere Informationen finden Sie unter [Ändern einer Amazon-RDS-DB-Instance](Overview.DBInstance.Modifying.md).

### CLI
<a name="DBMail.AssocParamGroup.CLI"></a>

Sie können die Database Mail-Parametergruppe einer neuen oder einer vorhandenen DB-Instance zuordnen.

**So erstellen Sie eine DB-Instance mit der Parametergruppe Database Mail**
+ Geben Sie denselben DB-Engine-Typ und dieselbe Hauptversion an, die Sie beim Erstellen der Parametergruppe verwendet haben.  
**Example**  

  Für Linux, macOS oder Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier mydbinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li
      --db-parameter-group-name dbmail-sqlserver-se-13
  ```

  Für Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --db-parameter-group-name dbmail-sqlserver-se-13
  ```

**So ändern Sie eine DB-Instance und verknüpfen die Parametergruppe Database Mail**
+ Verwenden Sie einen der folgenden Befehle.  
**Example**  

  Für Linux, macOS oder Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier mydbinstance \
      --db-parameter-group-name dbmail-sqlserver-se-13 \
      --apply-immediately
  ```

  Für Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier mydbinstance ^
      --db-parameter-group-name dbmail-sqlserver-se-13 ^
      --apply-immediately
  ```

# Konfigurieren von Database Mail
<a name="SQLServer.DBMail.Configure"></a>

Sie führen die folgenden Aufgaben aus, um Database Mail zu konfigurieren:

1. Erstellen Sie das Database Mail-Profil.

1. Erstellen Sie das Database Mail-Konto.

1. Fügen Sie das Database Mail-Konto dem Database Mail-Profil hinzu.

1. Fügen Sie dem Database Mail-Profil Benutzer hinzu.

**Anmerkung**  
Stellen Sie zum Konfigurieren von Database Mail sicher, dass Sie die Berechtigung zum `execute` für die gespeicherten Prozesse in der `msdb`-Datenbank haben.

## Erstellen des Database Mail-Profils
<a name="SQLServer.DBMail.Configure.Profile"></a>

Um das Database Mail-Profil zu erstellen, verwenden Sie den gespeicherten Prozess [sysmail\$1add\$1profile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profile-sp-transact-sql). Im folgenden Beispiel wird ein Profil namens erstell `Notifications`.

**So erstellen Sie das Profil**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_profile_sp  
      @profile_name         = 'Notifications',  
      @description          = 'Profile used for sending outgoing notifications using Amazon SES.';
  GO
  ```

## Erstellen des Database Mail-Kontos
<a name="SQLServer.DBMail.Configure.Account"></a>

Um das Database Mail-Konto zu erstellen, verwenden Sie den gespeicherten Prozess [sysmail\$1add\$1account\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-account-sp-transact-sql). Im folgenden Beispiel wird mithilfe des Amazon Simple Email Service ein Konto namens `SES` auf einer DB-Instance von RDS für SQL Server in einer privaten VPC erstellt.

Für die Verwendung von Amazon SES sind folgende Parameter erforderlich:
+ `@email_address` – eine von Amazon SES verifizierte Identität. Weitere Informationen finden Sie unter [Verifizieren von Identitäten in Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html).
+ `@mailserver_name` – ein Amazon-SES-SMTP-Endpunkt. Weitere Informationen finden Sie unter [Herstellen einer Verbindung mit einem Amazon-SES-SMTP-Endpunkt](https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.html).
+ `@username` – ein Amazon-SES-SMTP-Benutzername. Weitere Informationen finden Sie unter [Abrufen von Amazon-SES-SMTP-Anmeldeinformationen](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html).

  Verwenden Sie keinen AWS Identity and Access Management Benutzernamen.
+ `@password` – ein Amazon-SES-SMTP-Passwort. Weitere Informationen finden Sie unter [Abrufen von Amazon-SES-SMTP-Anmeldeinformationen](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html).

**So erstellen Sie das Konto**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_account_sp
      @account_name        = 'SES',
      @description         = 'Mail account for sending outgoing notifications.',
      @email_address       = 'nobody@example.com',
      @display_name        = 'Automated Mailer',
      @mailserver_name     = 'vpce-0a1b2c3d4e5f-01234567.email-smtp.us-west-2.vpce.amazonaws.com',
      @port                = 587,
      @enable_ssl          = 1,
      @username            = 'Smtp_Username',
      @password            = 'Smtp_Password';
  GO
  ```
**Anmerkung**  
Geben Sie aus Sicherheitsgründen andere Anmeldeinformationen als hier angegeben an.

## Hinzufügen des Database Mail-Kontos zum Database Mail-Profil
<a name="SQLServer.DBMail.Configure.AddAccount"></a>

Um das Database Mail-Konto dem Database Mail-Profil hinzuzufügen, verwenden Sie den gespeicherten Prozess [sysmail\$1add\$1profileaccount\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-profileaccount-sp-transact-sql). Im folgenden Beispiel wird das `SES`-Konto dem `Notifications`-Profil hinzugefügt.

**So fügen Sie das Konto dem Profil hinzu**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
      @profile_name        = 'Notifications',
      @account_name        = 'SES',
      @sequence_number     = 1;
  GO
  ```

## Hinzufügen von Benutzern zum Database Mail-Profil
<a name="SQLServer.DBMail.Configure.AddUser"></a>

Um einem `msdb`-Datenbankprinzipal die Berechtigung zur Verwendung eines Database Mail-Profils zu erteilen, verwenden Sie den gespeicherten Prozess [sysmail\$1add\$1principalprofile\$1sp](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sysmail-add-principalprofile-sp-transact-sql). Ein *Prinzipal* ist eine Entität, die SQL Server-Ressourcen anfordern kann. Der Datenbankprinzipal muss einem SQL Server-Authentifizierungsbenutzer, einem Windows-Authentifizierungsbenutzer oder einer Windows-Authentifizierungsgruppe zugeordnet werden.

Im folgenden Beispiel wird öffentlicher Zugriff auf das `Notifications`-Profil gewährt.

**So fügen Sie dem Profil einen Benutzer hinzu**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  USE msdb
  GO
  
  EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
      @profile_name       = 'Notifications',  
      @principal_name     = 'public',  
      @is_default         = 1;
  GO
  ```

## In Amazon RDS gespeicherte Prozesse und Funktionen für Database Mail
<a name="SQLServer.DBMail.StoredProc"></a>

Microsoft stellt [gespeicherte Prozeduren](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/database-mail-stored-procedures-transact-sql) für die Verwendung von Database Mail zur Verfügung, z. B. zum Erstellen, Auflisten, Aktualisieren und Löschen von Konten und Profilen. Darüber hinaus bietet RDS die in der folgenden Tabelle aufgeführten gespeicherten Prozeduren und Funktionen für Database Mail.


| Prozess/Funktion | Beschreibung | 
| --- | --- | 
| rds\$1fn\$1sysmail\$1allitems | Zeigt gesendete Nachrichten an, einschließlich der von anderen Benutzern übermittelten Nachrichten. | 
| rds\$1fn\$1sysmail\$1event\$1log | Zeigt Ereignisse an, einschließlich solcher für Nachrichten, die von anderen Benutzern übermittelt wurden. | 
| rds\$1fn\$1sysmail\$1mailanhänge | Zeigt Anhänge an, einschließlich solcher für Nachrichten, die von anderen Benutzern übermittelt wurden. | 
| rds\$1sysmail\$1control | Startet und stoppt die Mail-Warteschlange (Prozess DatabaseMail.exe). | 
| rds\$1sysmail\$1delete\$1mailitems\$1sp | Löscht E-Mail-Nachrichten, die von allen Benutzern aus den internen Tabellen von Database Mail gesendet wurden. | 

# Senden von E-Mails mit Database Mail
<a name="SQLServer.DBMail.Send"></a>

Sie verwenden den gespeicherten Prozess [sp\$1send\$1dbmail](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql), um E-Mails mit Database Mail zu versenden.

## Usage
<a name="SQLServer.DBMail.Send.Usage"></a>

```
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'profile_name',
@recipients = 'recipient1@example.com[; recipient2; ... recipientn]',
@subject = 'subject',
@body = 'message_body',
[@body_format = 'HTML'],
[@file_attachments = 'file_path1; file_path2; ... file_pathn'],
[@query = 'SQL_query'],
[@attach_query_result_as_file = 0|1]';
```

Die folgenden Parameter sind erforderlich:
+ `@profile_name` – Der Name des Database Mail-Profils, von dem die Nachricht gesendet werden soll.
+ `@recipients` – Die durch Semikolons getrennte Liste der E-Mail-Adressen, an die die Nachricht gesendet werden soll.
+ `@subject` – Der Betreff der Nachricht.
+ `@body` – Der Text der Nachricht. Sie können auch eine angegebene Variable als Text verwenden.

Die folgenden Parameter sind optional:
+ `@body_format` – Dieser Parameter wird zusammen mit einer angegebenen Variable verwendet, um E-Mails im HTML-Format zu senden.
+ `@file_attachments` – Die durch Semikolons getrennte Liste von Nachrichtenanhängen. Dateipfade müssen absolute Pfade sein.
+ `@query` – Eine auszuführende SQL-Abfrage. Die Abfrageergebnisse können als Datei angehängt oder im Text der Nachricht enthalten sein.
+ `@attach_query_result_as_file` – Ob das Abfrageergebnis als Datei angehängt werden soll. Setzen Sie auf 0 für nein, 1 für ja. Der Standardwert ist 0.

## Beispiele
<a name="SQLServer.DBMail.Send.Examples"></a>

Die folgenden Beispiele veranschaulichen, wie Sie E-Mails versenden.

**Example das Senden einer Nachricht an einen einzelnen Empfänger**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Automated DBMail message - 1',
     @body               = 'Database Mail configuration was successful.';
GO
```

**Example das Senden einer Nachricht an mehrere Empfänger**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'recipient1@example.com;recipient2@example.com',
     @subject            = 'Automated DBMail message - 2',
     @body               = 'This is a message.';
GO
```

**Example das Senden eines SQL-Abfrageergebnisses als Dateianhang**  

```
USE msdb
GO

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Test SQL query',
     @body               = 'This is a SQL query test.',
     @query              = 'SELECT * FROM abc.dbo.test',
     @attach_query_result_as_file = 1;
GO
```

**Example das Senden einer Nachricht im HTML-Format**  

```
USE msdb
GO

DECLARE @HTML_Body as NVARCHAR(500) = 'Hi, <h4> Heading </h4> </br> See the report. <b> Regards </b>';

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'Test HTML message',
     @body               = @HTML_Body,
     @body_format        = 'HTML';
GO
```

**Example des Sendens einer Nachricht mit einem Trigger, wenn ein bestimmtes Ereignis in der Datenbank auftritt**  

```
USE AdventureWorks2017
GO
IF OBJECT_ID ('Production.iProductNotification', 'TR') IS NOT NULL
DROP TRIGGER Purchasing.iProductNotification
GO

CREATE TRIGGER iProductNotification ON Production.Product
   FOR INSERT
   AS
   DECLARE @ProductInformation nvarchar(255);
   SELECT
   @ProductInformation = 'A new product, ' + Name + ', is now available for $' + CAST(StandardCost AS nvarchar(20)) + '!'
   FROM INSERTED i;

EXEC msdb.dbo.sp_send_dbmail
     @profile_name       = 'Notifications',
     @recipients         = 'nobody@example.com',
     @subject            = 'New product information',
     @body               = @ProductInformation;
GO
```

# Anzeigen von Nachrichten, Protokollen und Anhängen
<a name="SQLServer.DBMail.View"></a>

Sie verwenden gespeicherte RDS-Prozesse, um Nachrichten, Ereignisprotokolle und Anhänge anzuzeigen.

**So zeigen Sie alle E-Mails an**
+ Geben Sie die folgende SQL-Abfrage ein.

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_allitems(); --WHERE sent_status='sent' or 'failed' or 'unsent'
  ```

**So zeigen Sie alle E-Mail-Ereignisprotokolle an**
+ Geben Sie die folgende SQL-Abfrage ein.

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_event_log();
  ```

**So zeigen Sie alle E-Mail-Anhänge an**
+ Geben Sie die folgende SQL-Abfrage ein.

  ```
  SELECT * FROM msdb.dbo.rds_fn_sysmail_mailattachments();
  ```

# Löschen von Nachrichten
<a name="SQLServer.DBMail.Delete"></a>

Sie verwenden die `rds_sysmail_delete_mailitems_sp` gespeicherte Prozedur, um Nachrichten zu löschen.

**Anmerkung**  
RDS löscht automatisch Mail-Tabellenelemente, wenn die Daten des DBMail-Verlaufs mit einer Größe von 1 GB bei einer Aufbewahrungsdauer von mindestens 24 Stunden liegen.  
Wenn Sie Postsendungen länger aufbewahren möchten, können Sie diese archivieren. Weitere Informationen finden Sie unter [Erstellen eines SQL Server-Agent-Jobs zum Archivieren von Database Mail-Nachrichten und Ereignisprotokollen](https://docs.microsoft.com/en-us/sql/relational-databases/database-mail/create-a-sql-server-agent-job-to-archive-database-mail-messages-and-event-logs) in der Microsoft-Dokumentation.

**So löschen Sie alle E-Mail-Nachrichten**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  DECLARE @GETDATE datetime
  SET @GETDATE = GETDATE();
  EXECUTE msdb.dbo.rds_sysmail_delete_mailitems_sp @sent_before = @GETDATE;
  GO
  ```

**So löschen Sie alle E-Mail-Nachrichten mit einem bestimmten Status**
+ Mit der folgenden SQL-Anweisung löschen Sie alle fehlgeschlagenen Nachrichten.

  ```
  DECLARE @GETDATE datetime
  SET @GETDATE = GETDATE();
  EXECUTE msdb.dbo.rds_sysmail_delete_mailitems_sp @sent_status = 'failed';
  GO
  ```

# Starten und Anhalten der Mail-Warteschlange
<a name="SQLServer.DBMail.StartStop"></a>

Verwenden Sie die folgenden Anleitungen, um die DB-Mail-Warteschlange zu starten und anzuhalten:

**Topics**
+ [Starten der Mail-Warteschlange](#SQLServer.DBMail.Start)
+ [Stoppen der Mail-Warteschlange](#SQLServer.DBMail.Stop)

## Starten der Mail-Warteschlange
<a name="SQLServer.DBMail.Start"></a>

Sie verwenden die `rds_sysmail_control` gespeicherte Prozedur, um den Prozess Database Mail zu starten.

**Anmerkung**  
Die Aktivierung von Database Mail startet automatisch die E-Mail-Warteschlange.

**So starten Sie die Mail-Warteschlange**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  EXECUTE msdb.dbo.rds_sysmail_control start;
  GO
  ```

## Stoppen der Mail-Warteschlange
<a name="SQLServer.DBMail.Stop"></a>

Sie verwenden die `rds_sysmail_control` gespeicherte Prozedur, um den Prozess Database Mail zu beenden.

**So stoppen Sie die Mail-Warteschlange**
+ Verwenden Sie die folgende SQL-Anweisung.

  ```
  EXECUTE msdb.dbo.rds_sysmail_control stop;
  GO
  ```

## Arbeiten mit Dateianlagen
<a name="SQLServer.DBMail.Files"></a>

Die folgenden Dateianhangserweiterungen werden in Database Mail-Nachrichten von RDS auf SQL Server nicht unterstützt: .ade, .adp, .apk, .appx, .appxbundle, .bat, .bak, .cab, .chm, .cmd, .com, .cpl, .dll, .dmg, .exe, .hta, .inf1, .ins, .isp, .iso, .jar, .job, .js, .jse, .ldf, .lib, .lnk, .mde, .mdf, .msc, .msi, .msix, .msixbundle, .msp, .mst, .nsh, .pif, .ps, .ps1, .psc1, .reg, .rgs, .scr, .sct, .shb, .shs, .svg, .sys, .u3p, .vb, .vbe, .vbs, .vbscript, .vxd, .ws, .wsc, .wsf und .wsh.

Database Mail verwendet den Microsoft Windows-Sicherheitskontext des aktuellen Benutzers, um den Zugriff auf Dateien zu steuern. Benutzer, die sich mit der SQL Server-Authentifizierung anmelden, können keine Dateien anhängen, die den `@file_attachments`-Parameter mit der `sp_send_dbmail` gespeicherten Prozedur verwenden. Windows erlaubt SQL Server nicht, Anmeldeinformationen von einem Remote-Computer an einen anderen Remote-Computer zu übermitteln. Daher kann Database Mail keine Dateien von einer Netzwerkfreigabe anhängen, wenn der Befehl von einem anderen Computer als dem Computer ausgeführt wird, auf dem SQL Server ausgeführt wird.

Sie können jedoch Jobs mit SQL Server Agent zum Anhängen von Dateien verwenden. Weitere Informationen zu SQL Server Agent finden Sie unter [Verwenden von SQL Server Agent für Amazon RDS](Appendix.SQLServer.CommonDBATasks.Agent.md) und unter [SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/sql-server-agent) in der Microsoft-Dokumentation.

## Überlegungen zu Multi-AZ-Bereitstellungen
<a name="SQLServer.DBMail.MAZ"></a>

Wenn Sie Database Mail auf einer Multi-AZ-DB-Instance konfigurieren, wird die Konfiguration nicht automatisch an die sekundäre weitergegeben. Wir empfehlen, die Multi-AZ-Instance in eine Single-AZ-Instance zu konvertieren, Database Mail zu konfigurieren und dann die DB-Instance wieder in Multi-AZ zu konvertieren. Dann haben sowohl der primäre als auch der sekundäre Knoten die Database Mail-Konfiguration.

Wenn Sie eine Read Replica aus Ihrer Multi-AZ-Instance erstellen, für die Database Mail konfiguriert ist, erbt das Replikat die Konfiguration, jedoch ohne das Kennwort für den SMTP-Server. Aktualisieren Sie das Database Mail-Konto mit dem Passwort.

## Aufheben der SMTP-Einschränkung (Port 25)
<a name="SQLServer.DBMail.SMTP"></a>

AWS blockiert standardmäßig ausgehenden Datenverkehr auf SMTP (Port 25) für DB-Instances von RDS für SQL Server. Dies erfolgt basierend auf den Richtlinien des Eigentümers der Elastic-Network-Schnittstelle, um Spam zu verhindern. Sie können diese Einschränkung bei Bedarf aufheben. Weitere Informationen finden Sie unter [Wie entferne ich die Beschränkung für Anschluss 25 aus meiner Amazon-EC2-Instance oder Lambda-Funktion?](https://repost.aws/knowledge-center/ec2-port-25-throttle) 