Freigeben über


sys.event_log (Azure SQL-Datenbank)

Gilt für: Azure SQL-Datenbank

Gibt erfolgreiche Azure SQL-Datenbank Datenbankverbindungen und Verbindungsfehler zurück. Anhand dieser Informationen können Sie Ihre Datenbankaktivität nachverfolgen und Fehler beheben.

Achtung

Bei logischen Servern mit einer großen Anzahl von Datenbanken und/oder einer hohen Anzahl von Anmeldungen kann das Abfragen sys.event_log zu einer hohen Ressourcenauslastung in der Masterdatenbank führen, was möglicherweise zu Anmeldefehlern führt. Um die Auswirkungen dieses Problems zu verringern, beschränken Sie Abfragen von sys.event_log.

Die sys.event_log-Sicht enthält die folgenden Spalten.

Spaltenname Datentyp Beschreibung
database_name sysname Der Name der Datenbank. Wenn die Verbindung nicht hergestellt werden kann und der Benutzer keinen Datenbanknamen angegeben hat, ist diese Spalte leer.
start_time datetime2 UTC-Datum und -Zeit des Beginns des Aggregationsintervalls. Für aggregierte Ereignisse ist die Zeit immer ein Vielfaches von 5 Minuten. Zum Beispiel:

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
end_time datetime2 UTC-Datum und -Zeit des Endes des Aggregationsintervalls. Bei aggregierten Ereignissen ist End_time immer genau 5 Minuten später als die entsprechende start_time in derselben Zeile. Für Ereignisse, die nicht aggregiert werden, start_time und end_time dem tatsächlichen UTC-Datum und der aktuellen Uhrzeit des Ereignisses entsprechen.
event_category nvarchar(64) Die Komponente auf hoher Ebene, die dieses Ereignis generiert hat.

Eine Liste möglicher Werte finden Sie unter "Ereignistypen ".
event_type nvarchar(64) Den Typ des Ereignisses

Eine Liste möglicher Werte finden Sie unter "Ereignistypen ".
event_subtype int Der Untertyp des eintretenden Ereignisses.

Eine Liste möglicher Werte finden Sie unter "Ereignistypen ".
event_subtype_desc nvarchar(64) Die Beschreibung des Ereignisuntertyps.

Eine Liste möglicher Werte finden Sie unter "Ereignistypen ".
severity int Der Schweregrad des Fehlers. Dabei sind folgende Werte möglich:

0 = Information
1 = Warnung
2 = Fehler
event_count int Die Häufigkeit, mit der dieses Ereignis innerhalb des angegebenen Zeitintervalls (start_time und end_time) für die angegebene Datenbank aufgetreten ist.
Beschreibung nvarchar(max) Detaillierte Beschreibung des Ereignisses.

Eine Liste möglicher Werte finden Sie unter "Ereignistypen ".
additional_data XML Diese Spalte ist nicht verwendet und wird aus Gründen der Abwärtskompatibilität beibehalten.

Ereignistypen

Die ereignisse, die von jeder Zeile in dieser Ansicht aufgezeichnet werden, werden durch eine Kategorie (event_category), einen Ereignistyp (event_type) und einen Untertyp (event_subtype) identifiziert. In der folgenden Tabelle werden die Ereignistypen aufgeführt, die in dieser Sicht gesammelt werden.

Für Ereignisse in der Verbindungskategorie sind zusammenfassungsinformationen in der sys.database_connection_stats Ansicht verfügbar.

Hinweis

Diese Ansicht enthält nicht alle möglichen SQL-Datenbank Datenbankereignisse, die auftreten können, nur die hier aufgeführten. Weitere Kategorien, Ereignistypen und Untertypen können in zukünftigen Versionen von SQL-Datenbank hinzugefügt werden.

event_category event_type event_subtype event_subtype_desc severity Beschreibung
Konnektivität connection_successful 0 connection_successful 0 Die Verbindung mit der Datenbank war erfolgreich.
Konnektivität connection_failed 0 invalid_login_name 2 Der Anmeldename ist in dieser SQL Server-Version nicht gültig.
Konnektivität connection_failed 1 windows_auth_not_supported 2 Windows-Anmeldungen werden in dieser SQL Server-Version nicht unterstützt.
Konnektivität connection_failed 2 attach_db_not_supported 2 Der Benutzer hat aufgefordert, eine Datenbankdatei anzufügen, die nicht unterstützt wird.
Konnektivität connection_failed 3 change_password_not_supported 2 Der Benutzer hat angefordert, das Kennwort des angemeldeten Benutzers zu ändern. Dies wird nicht unterstützt.
Konnektivität connection_failed 4 login_failed_for_user 2 Fehler bei der Anmeldung für den Benutzer .
Konnektivität connection_failed 5 login_disabled 2 Die Anmeldung wurde deaktiviert.
Konnektivität connection_failed 7 blocked_by_firewall 2 Client-IP-Adresse ist nicht berechtigt, auf den Server zuzugreifen.

Berechtigungen

Benutzer mit der Berechtigung für den Zugriff auf die Masterdatenbank auf dem logischen Server in Azure SQL-Datenbank schreibgeschützten Zugriff auf diese Ansicht haben.

Hinweise

Ereignisaggregation

Die Ereignisinformationen für diese Sicht werden gesammelt und innerhalb von 5-minütigen Intervallen aggregiert. Die spalte event_count stellt die Häufigkeit dar, mit der ein bestimmter event_type und event_subtype für eine bestimmte Datenbank innerhalb eines bestimmten Zeitintervalls aufgetreten sind.

Hinweis

Einige Ereignisse wie Deadlocks werden nicht aggregiert. Für diese Ereignisse ist event_count 1 und start_time und end_time entspricht dem tatsächlichen UTC-Datum und der aktuellen Uhrzeit des Ereignisses.

Wenn ein Benutzer beispielsweise aufgrund eines ungültigen Anmeldenamens sieben Mal zwischen 11:00 und 11:05 uhr am 3.30.2022 (UTC) eine Verbindung mit Datenbankdatenbank1 herstellen kann, sind diese Informationen in einer einzelnen Zeile in dieser Ansicht verfügbar:

database_name start_time end_time event_category event_type event_subtype event_subtype_desc severity event_count Beschreibung additional_data
Database1 2022-03-30 11:00:00 2022-03-30 11:05:00 connectivity connection_failed 4 login_failed_for_user 2 7 Login failed for user. NULL

start_time und end_time des Intervalls

Ein Ereignis ist in einem Aggregationsintervall enthalten, wenn das Ereignis auf oder nach start_time und vor end_time für dieses Intervall auftritt. Beispielsweise würde ein Ereignis, das genau zum Zeitpunkt 2022-03-30 19:25:00.0000000 eintritt, nur im zweiten unten gezeigten Intervall aufgenommen werden:

start_time                    end_time  
2022-03-30 19:20:00.0000000   2022-03-30 19:25:00.0000000  
2022-03-30 19:25:00.0000000   2022-03-30 19:30:00.0000000  

Datenupdates

Die Daten in dieser Sicht werden im Zeitverlauf gesammelt. Normalerweise werden die Daten innerhalb einer Stunde nach Beginn des Aggregationsintervalls gesammelt, es kann aber maximal 24 Stunden dauern, bis alle Daten in der Sicht angezeigt werden. Während dieser Zeit werden die Informationen in einer einzelnen Zeile möglicherweise gelegentlich aktualisiert.

Beibehaltung von Daten

Die Daten in dieser Ansicht werden maximal 30 Tage lang aufbewahrt, oder möglicherweise weniger abhängig von der Anzahl der Datenbanken und der Anzahl der eindeutigen Ereignisse, die jede Datenbank generiert. Um diese Informationen für einen längeren Zeitraum beizubehalten, kopieren Sie die Daten in eine separate Datenbank. Nachdem Sie eine erste Kopie der Sicht erstellt haben, werden die Zeilen in der Sicht möglicherweise aktualisiert, während die Daten gesammelt werden. Damit die Kopie der Daten aktuell bleibt, führen Sie regelmäßig einen Tabellenscan der Zeilen aus, um nach einer Erhöhung der Ereignisanzahl für vorhandene Zeilen zu suchen und um neue Zeilen zu ermitteln (eindeutige Zeilen bestimmen Sie anhand der Start- und Endzeiten). Aktualisieren Sie dann die Kopie der Daten mit diesen Änderungen.

Fehler, die nicht enthalten sind

Diese Sicht enthält möglicherweise nicht alle Verbindungs- und Fehlerinformationen:

  • Diese Ansicht enthält nicht alle SQL-Datenbank Datenbankfehler, die auftreten können, nur die in Ereignistypen in diesem Artikel angegebenen.
  • Wenn innerhalb des SQL-Datenbank Rechenzentrums ein Computerfehler auftritt, fehlt möglicherweise eine kleine Datenmenge aus der Ereignistabelle.
  • Wenn eine IP-Adresse von DoSGuard blockiert wurde, können Verbindungsversuchsereignisse von dieser IP-Adresse nicht gesammelt werden. Diese werden in dieser Sicht nicht angezeigt.

Beispiele

Stellen Sie eine Verbindung mit der Masterdatenbank auf dem logischen Server in Azure SQL-Datenbank her, um die folgenden Transact-SQL-Abfragen auszuführen.

Abfragen der ansicht sys.event_log

Die folgende Abfrage gibt alle Ereignisse zurück, die zwischen Mittag am 25. März 2022 und Mittag am 30. März 2022 (UTC) aufgetreten sind. Standardmäßig werden die Abfrageergebnisse nach start_time (aufsteigender Reihenfolge) sortiert.

SELECT database_name, start_time, end_time, event_category,
	event_type, event_subtype, event_subtype_desc, severity,
	event_count, description
FROM sys.event_log
WHERE start_time >= '2022-03-25 12:00:00'
    AND end_time <= '2022-03-30 12:00:00';  

Abfrageanmeldungsfehler für Benutzer

Die folgende Abfrage gibt Verbindungsfehler zurück, die fehlgeschlagene Anmeldungen für Benutzer sind, die zwischen 10:00 und 11:00 Uhr am 25. März 2022 (UTC) aufgetreten sind.

SELECT database_name, start_time, end_time, event_category,
	event_type, event_subtype, event_subtype_desc, severity,
	event_count, description
FROM sys.event_log
WHERE event_type = 'connection_failed'
    AND event_subtype = 4
    AND start_time >= '2022-03-25 10:00:00'
    AND end_time <= '2022-03-25 11:00:00';  

Nächste Schritte

Weitere Informationen zu Azure SQL-Datenbank finden Sie in den folgenden Artikeln: