Freigeben über


sys.event_log (Azure SQL-Datenbank)

Gibt erfolgreiche SQL-Datenbank-Datenbankverbindungen sowie Verbindungsfehler, Deadlocks und Drosselungsereignisse zurück. Sie können diese Informationen verwenden, um die Datenbankaktivität mit SQL-Datenbank nachzuverfolgen oder um Fehler zu beheben.

Gilt für: Azure SQL-Datenbank.

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:

'2011-09-28 16:00:00'
'2011-09-28 16:05:00'
'2011-09-28 16:10:00'

end_time

datetime2

UTC-Datum und -Zeit des Endes des Aggregationsintervalls. Für aggregierte Ereignisse ist End_time immer genau 5 Minuten später als die entsprechende start_time in derselben Zeile. Bei nicht aggregierten Ereignissen entsprechen start_time und end_time dem tatsächlichen UTC-Datum und der tatsächlichen UTC-Zeit des Ereignisses.

event_category

nvarchar(64)

Die Komponente auf hoher Ebene, die dieses Ereignis generiert hat.

Eine Liste der möglichen Werte finden Sie unter Event Types.

event_type

nvarchar(64)

Der Ereignistyp.

Eine Liste der möglichen Werte finden Sie unter Event Types.

event_subtype

int

Der Untertyp des eintretenden Ereignisses.

Eine Liste der möglichen Werte finden Sie unter Event Types.

event_subtype_desc

nvarchar(64)

Die Beschreibung des Ereignisuntertyps.

Eine Liste der möglichen Werte finden Sie unter Event Types.

severity

int

Der Schweregrad des Fehlers. Folgende Werte sind möglich:

0 = Information
1 = Warning
2 = Fehler

event_count

int

Häufigkeit, mit der dieses Ereignis für die angegebene Datenbank innerhalb des angegebenen Zeitintervalls eingetreten ist (start_time und end_time).

description

nvarchar(max)

Detaillierte Beschreibung des Ereignisses.

Eine Liste der möglichen Werte finden Sie unter Event Types.

additional_data

XML

Für Deadlock-Ereignisse enthält diese Spalte das Deadlockdiagramm. Bei anderen Ereignistypen enthält diese Spalte NULL.

Ereignistypen

Die Ereignisse, die von jeder Zeile in dieser Sicht aufgezeichnet werden, werden nach Kategorie (event_category), Ereignistyp (event_type) und einem Untertyp (event_subtype) identifiziert. In der folgenden Tabelle werden die Ereignistypen aufgeführt, die in dieser Sicht gesammelt werden.

Für Ereignisse in der connectivity-Kategorie sind Zusammenfassungsinformationen in der sys.database_connection_stats-Sicht verfügbar.

Hinweis

Diese Sicht enthält nicht alle SQL-Datenbank-Datenbankereignisse, die eintreten können, sondern nur die hier aufgeführten.Zusätzliche Kategorien, Ereignistypen und Untertypen werden in zukünftigen Versionen von SQL-Datenbank ggf. hinzugefügt.

event_category

event_type

event_subtype

event_subtype_desc

severity

description

connectivity

connection_successful

0

connection_successful

0

Die Verbindung mit der Datenbank war erfolgreich.

connectivity

connection_failed

0

invalid_login_name

2

Der Anmeldename ist in dieser SQL Server-Version nicht gültig.

connectivity

connection_failed

1

windows_auth_not_supported

2

Windows-Anmeldungen werden in dieser SQL Server-Version nicht unterstützt.

connectivity

connection_failed

2

attach_db_not_supported

2

Der Benutzer hat das Anfügen einer Datenbankdatei angefordert, die nicht unterstützt wird.

connectivity

connection_failed

3

change_password_not_supported

2

Der Benutzer hat angefordert, das Kennwort des angemeldeten Benutzers zu ändern. Dies wird nicht unterstützt.

connectivity

connection_failed

4

login_failed_for_user

2

Fehler bei der Anmeldung für den Benutzer.

connectivity

connection_failed

5

login_disabled

2

Die Anmeldung wurde deaktiviert.

connectivity

connection_failed

6

failed_to_open_db

2

Die Datenbank konnte nicht geöffnet werden. Die Ursache hierfür kann darin liegen, dass die Datenbank nicht vorhanden ist oder keine Authentifizierung zum Öffnen der Datenbank vorhanden ist.

connectivity

connection_failed

7

blocked_by_firewall

2

Client-IP-Adresse ist nicht berechtigt, auf den Server zuzugreifen.

connectivity

connection_failed

8

client_close

2

Möglicher Timeout beim Client, als die Verbindung hergestellt wurde. Versuchen Sie, das Verbindungstimeout zu erhöhen.

connectivity

connection_failed

9

reconfiguration

2

Verbindungsfehler, da die Datenbank zu diesem Zeitpunkt eine Neukonfiguration durchlaufen hat.

connectivity

connection_terminated

0

idle_connection_timeout

2

Verbindung ist länger im Leerlauf, als der vom System definierte Schwellenwert angibt.

connectivity

connection_terminated

1

reconfiguration

2

Die Sitzung wurde aufgrund einer Neukonfiguration der Datenbank beendet.

connectivity

throttling

<Ursachencode>

reason_code

2

Anforderung wird gedrosselt. Ursachencode für Drosselung: <Ursachencode>. Weitere Informationen finden Sie unter Moduleinschränkung.

connectivity

throttling_long_transaction

40549

long_transaction

2

Die Sitzung wird aufgrund einer Transaktion mit langer Laufzeit beendet. Verkürzen Sie die Transaktion. Weitere Informationen finden Sie unter Ressourcenlimits.

connectivity

throttling_long_transaction

40550

excessive_lock_usage

2

Die Sitzung wurde beendet, da zu viele Sperren abgerufen wurden. Reduzieren Sie die Anzahl der in einer einzelnen Transaktion gelesenen oder geänderten Zeilen. Weitere Informationen finden Sie unter Ressourcenlimits.

connectivity

throttling_long_transaction

40551

excessive_tempdb_usage

2

Die Sitzung wurde aufgrund übermäßiger TEMPDB-Auslastung beendet. Ändern Sie die Abfrage, um die Verwendung des temporären Tabellenbereichs zu verringern. Weitere Informationen finden Sie unter Ressourcenlimits.

connectivity

throttling_long_transaction

40552

excessive_log_space_usage

2

Die Sitzung wurde aufgrund übermäßiger Verwendung des Speicherplatzes für das Transaktionsprotokoll beendet. Reduzieren Sie die Anzahl der in einer einzelnen Transaktion geänderten Zeilen. Weitere Informationen finden Sie unter Ressourcenlimits.

connectivity

throttling_long_transaction

40553

excessive_memory_usage

2

Die Sitzung wurde aufgrund übermäßiger Speicherauslastung beendet. Ändern Sie die Abfrage, damit weniger Zeilen verarbeitet werden. Weitere Informationen finden Sie unter Ressourcenlimits.

engine

deadlock

0

deadlock

2

Deadlock ist aufgetreten.

Berechtigungen

Benutzer mit der Zugriffsberechtigung auf die master-Datenbank verfügen über den schreibgeschützten Zugriff auf diese Sicht.

Beispiele

Die folgende Abfrage gibt alle Ereignisse zurück, die zwischen 12 Uhr mittags am 25.09.2011 und 12 Uhr mittags am 28.09.2011 (UTC) eingetreten sind. Standardmäßig werden die Abfrageergebnisse nach start_time (in aufsteigender Reihenfolge) sortiert.

select * from sys.event_log where start_time>='2011-09-25:12:00:00' and end_time<='2011-09-28 12:00:00';

Die folgende Abfrage gibt alle Deadlockereignisse für die Datenbank Database1 zurück.

select * from sys.event_log where event_type='deadlock' and database_name='Database1';

Die folgende Abfrage gibt harte Drosselungen für SQL-Arbeitsthreadereignisse zurück, die zwischen 10:00 und 11:00 Uhr am 25.09.2011 (UTC) eingetreten sind.

select * from sys.event_log where event_type='throttling' and event_subtype=4194307 and start_time>='2011-09-25 10:00:00' and end_time<='2011-09-25 11:00:00';

Hinweise

Ereignisaggregation

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

Hinweis

Einige Ereignisse wie Deadlocks werden nicht aggregiert.Für diese Ereignisse ist event_count 1. start_time und end_time entsprechen dem tatsächlichen UTC-Datum und der tatsächlichen UTC-Uhrzeit, zu der das Ereignis eingetreten ist.

Wenn ein Benutzer zum Beispiel aufgrund eines ungültigen Anmeldenamens sieben Mal zwischen 11:00 und 11:05 Uhr am 05.02.2012 (UTC) keine Verbindung mit der Datenbank Database1 herstellen kann, sind diese Informationen in dieser Sicht in einer einzelnen Zeile verfügbar:

database_name

start_time

end_time

event_category

event_type

event_subtype

event_subtype_desc

severity

event_count

description

additional_data

Database1

2012-02-05 11:00:00

2012-02-05 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 wird in ein Aggregationsintervall eingeschlossen, wenn das Ereignis zum Zeitpunkt oder nach der start_time und vor der end_time für dieses Intervall eintritt. Beispielsweise würde ein Ereignis, das genau zum Zeitpunkt 2012-10-30 19:25:00.0000000 eintritt, nur im zweiten unten gezeigten Intervall aufgenommen werden:

start_time                    end_time
2012-10-30 19:20:00.0000000   2012-10-30 19:25:00.0000000
2012-10-30 19:25:00.0000000   2012-10-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.

Datenbeibehaltung

Die Daten in dieser Sicht werden maximal 30 Tage oder kürzer beibehalten, abhängig von der Anzahl der Datenbanken auf dem logischen Server 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 Sicht enthält nicht alle SQL-Datenbank-Datenbankfehler, die auftreten können, sondern nur die Datenbankfehler, die unter Event Types in diesem Thema angegeben sind.

  • Wenn ein Computerfehler innerhalb des SQL-Datenbank-Datencenters auftritt, ist es möglich, dass eine geringe Anzahl der Daten des logischen Servers in der Ereignistabelle fehlt.

  • 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.