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 master-Datenbank führen, was möglicherweise zu Anmeldefehlern führen kann. 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. 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 sind, start_time und end_time dem tatsächlichen UTC-Datum und der tatsächlichen Uhrzeit des Ereignisses entsprechen.
event_category nvarchar(64) Die Komponente auf hoher Ebene, die dieses Ereignis generiert hat.

Eine Liste der möglichen Werte finden Sie unter Ereignistypen .
event_type nvarchar(64) Art des Ereignisses.

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

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

Eine Liste der möglichen Werte finden Sie unter Ereignistypen .
severity int Der Schweregrad des Fehlers. Mögliche Werte:

0 = Information
1 = Warning
2 = Fehler
event_count int Gibt an, wie oft dieses Ereignis für die angegebene Datenbank innerhalb des angegebenen Zeitintervalls (start_time und end_time) aufgetreten ist.
Beschreibung nvarchar(max) Detaillierte Beschreibung des Ereignisses.

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

Ereignistypen

Die von jeder Zeile in dieser Ansicht aufgezeichneten Ereignisse 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 Konnektivitätskategorie sind zusammenfassungsinformationen in der ansicht sys.database_connection_stats 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
Verbindung connection_successful 0 connection_successful 0 Die Verbindung mit der Datenbank war erfolgreich.
Verbindung connection_failed 0 invalid_login_name 2 Der Anmeldename ist in dieser SQL Server-Version nicht gültig.
Verbindung connection_failed 1 windows_auth_not_supported 2 Windows-Anmeldungen werden in dieser SQL Server-Version nicht unterstützt.
Verbindung connection_failed 2 attach_db_not_supported 2 Der Benutzer hat das Anfügen einer Datenbankdatei angefordert, die nicht unterstützt wird.
Verbindung connection_failed 3 change_password_not_supported 2 Der Benutzer hat angefordert, das Kennwort des angemeldeten Benutzers zu ändern. Dies wird nicht unterstützt.
Verbindung connection_failed 4 login_failed_for_user 2 Fehler bei der Anmeldung für den Benutzer.
Verbindung connection_failed 5 login_disabled 2 Die Anmeldung wurde deaktiviert.
Verbindung connection_failed 7 blocked_by_firewall 2 Client-IP-Adresse ist nicht berechtigt, auf den Server zuzugreifen.

Berechtigungen

Benutzer mit der Berechtigung zum Zugriff auf die master-Datenbank auf dem logischen Server in Azure SQL Datenbank haben schreibgeschützten Zugriff auf diese Ansicht.

Bemerkungen

Ereignisaggregation

Die Ereignisinformationen für diese Sicht werden gesammelt und innerhalb von 5-minütigen Intervallen aggregiert. Die spalte event_count gibt an, wie oft ein bestimmter event_type und event_subtype für eine bestimmte Datenbank innerhalb eines bestimmten Zeitintervalls aufgetreten ist.

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 Uhrzeit, an dem das Ereignis aufgetreten ist.

Wenn ein Benutzer beispielsweise aufgrund eines ungültigen Anmeldenamens siebenMal zwischen 11:00 und 11:05 Uhr am 30.03.2022 (UTC) eine Verbindung mit Datenbank 1 herstellen kann, sind diese Informationen in dieser Ansicht in einer einzelnen Zeile 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 nachstart_time und vorend_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  

Datenaktualisierungen

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 für maximal 30 Tage oder möglicherweise weniger aufbewahrt, 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 nicht enthalten

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 unter Ereignistypen in diesem Artikel angegebenen.
  • Wenn im SQL-Datenbank Rechenzentrum ein Computerfehler auftritt, fehlt möglicherweise eine kleine Menge an Daten in 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 master Datenbank auf dem logischen Server in Azure SQL-Datenbank her, um die folgenden Transact-SQL-Abfragen auszuführen.

Abfragen der sys.event_log Ansicht

Die folgende Abfrage gibt alle Ereignisse zurück, die zwischen dem Mittag am 25. März 2022 und dem 30. März 2022 (UTC) aufgetreten sind. Standardmäßig werden die Abfrageergebnisse nach start_time (aufsteigende 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 fehlerhafte Anmeldungen für Benutzer sind, die am 25. März 2022 (UTC) zwischen 10:00 und 11:00 Uhr 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: