Share via


Problembehandlung bei Datenbank-E-Mail: E-Mail in der Warteschlange, keine Einträge in sysmail_event_log oder im Windows-Anwendungsereignisprotokoll

In diesem Thema wird beschrieben, wie die Problembehandlung ausgeführt wird, wenn E-Mail-Nachrichten erfolgreich in der Warteschlange angeordnet werden, in der sysmail_event_log (Transact-SQL)-Sicht oder im Windows-Anwendungsereignisprotokoll jedoch keine Aktivität des externen Programms angezeigt wird.

Die Datenbank-E-Mail erfordert Service Broker für das Anordnen von E-Mail-Nachrichten in Warteschlangen. Wenn die Datenbank-E-Mail beendet wird oder wenn die Service Broker-Nachrichtenübermittlung in der msdb-Datenbank nicht aktiviert ist, reiht die Datenbank-E-Mail Nachrichten in die Datenbank-Warteschlange ein, kann die Nachrichten jedoch nicht übermitteln. In diesem Fall verbleiben die Service Broker-Nachrichten in der Service Broker-E-Mail-Warteschlange. Von Service Broker wird das externe Programm nicht aktiviert. Daher gibt es keine Protokolleinträge in sysmail_event_log und keine Aktualisierungen des Elementstatus in sysmail_mailitems und den zugehörigen Sichten.

Führen Sie die folgende Anweisung aus, um zu überprüfen, ob die Datenbank-E-Mail aktiviert ist:

SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb' ;

Der Wert 0 zeigt an, dass die Service Broker-Nachrichtenübermittlung in der msdb-Datenbank nicht aktiviert ist. Aktivieren Sie Service Broker in der Datenbank, um das Problem zu beheben. Informationen zum Aktivieren der Service Broker-Nachrichtenübermittlung finden Sie unter Vorgehensweise: Aktivieren von Service Broker-Nachrichtenübermittlung in Datenbanken (Transact-SQL).

Datenbank-E-Mail basiert auf verschiedenen intern gespeicherten Prozeduren. Um den Oberflächenbereich zu reduzieren, werden diese gespeicherten Prozeduren bei neuen Installationen von SQL Server deaktiviert. Verwenden Sie das Dienstprogramm SQL Server-Oberflächenkonfiguration oder die gespeicherte Systemprozedur sp_configure (Transact-SQL), um diese gespeicherten Prozeduren zu aktivieren.

Die Datenbank-E-Mail kann in der msdb-Datenbank beendet werden. Führen Sie folgende Anweisung aus, um den Status von Datenbank-E-Mail zu prüfen:

EXECUTE dbo.sysmail_help_status_sp ;

Führen Sie den folgenden Befehl in der msdb-Datenbank aus, um die Datenbank-E-Mail in einer Mailhost-Datenbank zu starten:

EXECUTE dbo.sysmail_start_sp ;

Service Broker untersucht die Dialogfeld-Lebensdauer für Nachrichten, wenn es aktiviert ist. Daher schlagen Nachrichten, die sich länger als die konfigurierte Dialogfeld-Lebensdauer in der Service Broker-Übertragungswarteschlange befinden, sofort fehl. Die Datenbank-E-Mail aktualisiert den Status fehlgeschlagener Nachrichten in der sysmail_allitems (Transact-SQL) und zugehörigen Sichten. Sie müssen entscheiden, ob die E-Mail-Nachrichten erneut gesendet werden sollen. Weitere Informationen zum Konfigurieren der von der Datenbank-E-Mail verwendeten Dialogfeld-Lebensdauer finden Sie unter sysmail_configure_sp (Transact-SQL).

Siehe auch

Aufgaben

Problembehandlung bei Datenbank-E-Mail
Problembehandlung bei Datenbank-E-Mail: Allgemeine Schritte

Konzepte

Architektur der Datenbank-E-Mail
Datenbank-E-Mail

Hilfe und Informationen

Informationsquellen für SQL Server 2005