sys.event_log (Azure SQL Database)

Dotyczy:Azure SQL Database

Zwraca udane połączenia z bazą Azure SQL Database oraz awarie połączeń. Te informacje służą do śledzenia aktywności bazy danych lub rozwiązywania problemów z tym.

Caution

Dla serwerów logicznych z dużą liczbą baz danych i/lub dużą liczbą logowań zapytania sys.event_log mogą powodować duże zużycie zasobów w bazie głównej, co może skutkować niepowodzeniem logowania. Aby zmniejszyć wpływ tego problemu, ogranicz liczbę zapytań sys.event_log.

Widok sys.event_log zawiera następujące kolumny.

Nazwa kolumny Typ danych Description
database_name sysname Nazwa bazy danych. Jeśli połączenie się nie powiedzie, a użytkownik nie poda nazwy bazy danych, kolumna ta jest pusta.
start_time datetime2 UTC, data i godzina rozpoczęcia interwału agregacji. W przypadku wydarzeń zbiorczych czas ten zawsze jest wielokrotnością 5 minut. Przykład:

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
end_time datetime2 UTC, data i czas zakończenia interwału agregacji. W przypadku zagregowanych zdarzeń End_time zawsze jest dokładnie 5 minut później niż odpowiadające mu start_time w tym samym rzędzie. W przypadku wydarzeń, które nie są agregowane, start_time i end_time odpowiadają rzeczywistej dacie i godzinie UTC.
event_category nvarchar(64) Wysoki poziom komponentu, który wywołał to zdarzenie.

Zobacz Typy zdarzeń , aby zobaczyć listę możliwych wartości.
event_type nvarchar(64) Typ zdarzenia.

Zobacz Typy zdarzeń , aby zobaczyć listę możliwych wartości.
event_subtype int Podtyp zdarzenia, które się pojawia.

Zobacz Typy zdarzeń , aby zobaczyć listę możliwych wartości.
event_subtype_desc nvarchar(64) Opis podtypu zdarzenia.

Zobacz Typy zdarzeń , aby zobaczyć listę możliwych wartości.
Ważności int Waga błędu. Dopuszczalne wartości:

0 = Informacje
1 = Ostrzeżenie
2 = Błąd
event_count int Liczba razy, gdy to zdarzenie miało miejsce dla określonej bazy danych w określonym przedziale czasowym (start_time i end_time).
description nvarchar(max) Szczegółowy opis wydarzenia.

Zobacz Typy zdarzeń , aby zobaczyć listę możliwych wartości.
additional_data XML Ta kolumna jest nieużywana i zachowana ze względu na kompatybilność wsteczną.

Typy zdarzeń

Zdarzenia rejestrowane przez każdy wiersz w tym widoku są identyfikowane przez kategorię (event_category), typ zdarzenia (event_type) oraz podtyp (event_subtype). Poniższa tabela przedstawia typy zdarzeń zebranych w tym widoku.

W przypadku wydarzeń z kategorii łączności , informacje podsumowujące są dostępne w widoku sys.database_connection_stats.

Note

Ten widok nie obejmuje wszystkich możliwych zdarzeń bazy danych SQL, które mogą wystąpić, a jedynie te wymienione tutaj. Dodatkowe kategorie, typy zdarzeń i podtypy mogą zostać dodane w przyszłych wersjach SQL Database.

event_category event_type event_subtype event_subtype_desc Ważności description
Łączność connection_successful 0 connection_successful 0 Poprawnie połączone z bazą danych.
Łączność connection_failed 0 invalid_login_name 2 Nazwa logowania nie jest ważna w tej wersji SQL Server.
Łączność connection_failed 1 windows_auth_not_supported 2 Loginy systemu Windows nie są obsługiwane w tej wersji programu SQL Server.
Łączność connection_failed 2 attach_db_not_supported 2 Użytkownik prosił o dołączenie pliku bazy danych, co nie jest obsługiwane.
Łączność connection_failed 3 change_password_not_supported 2 Użytkownik poprosił o zmianę hasła użytkownika logującego się, co nie jest obsługiwane.
Łączność connection_failed 4 login_failed_for_user 2 Logowanie użytkownika się nie powiodło.
Łączność connection_failed 5 login_disabled 2 Logowanie zostało wyłączone.
Łączność connection_failed 7 blocked_by_firewall 2 Adres IP klienta nie ma dostępu do serwera.

Permissions

Użytkownicy posiadający uprawnienia do dostępu do głównej bazy danych na serwerze logicznym w Azure SQL Database mają dostęp tylko do odczytu do tego widoku.

Remarks

Agregacja zdarzeń

Informacje o wydarzeniach dla tego widoku są zbierane i agregowane w odstępach 5 minut. Kolumna event_count oznacza liczbę razy, gdy dana event_type i event_subtype wystąpiła dla konkretnej bazy danych w danym przedziale czasowym.

Note

Niektóre zdarzenia, takie jak impasy, nie są agregowane. Dla tych zdarzeń event_count będzie 1 i start_time , a end_time będzie odpowiadać rzeczywistej dacie i godzinie UTC, kiedy wydarzenie miało miejsce.

Na przykład, jeśli użytkownik nie uda się połączyć z bazą danych Database1 z powodu nieprawidłowej nazwy logowania siedem razy między 11:00 a 11:05 dnia 30.03.2022 (UTC), te informacje są dostępne w jednym wierszu w tym widoku:

database_name start_time end_time event_category event_type event_subtype event_subtype_desc Ważności event_count description 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

Interwał start_time i end_time

Zdarzenie jest uwzględniane w interwałie agregacji, gdy następuje ono w start_time lub przedend_time dla tego przedziału. Na przykład zdarzenie zachodzące dokładnie w miejscu 2022-03-30 19:25:00.0000000 byłoby uwzględnione tylko w drugim przedziale pokazanym poniżej:

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  

Aktualizacje danych

Dane w tym widoku są kumulowane w czasie. Zazwyczaj dane są gromadzone w ciągu godziny od rozpoczęcia interwału agregacji, ale może minąć maksymalnie 24 godziny, zanim wszystkie dane pojawią się w widoku. W tym czasie informacje w jednym wierszu mogą być okresowo aktualizowane.

Przechowywanie danych

Dane w tym widoku są przechowywane maksymalnie przez 30 dni, a czasem mniej, w zależności od liczby baz danych i liczby unikalnych zdarzeń generowanych przez każdą bazę. Aby zachować te informacje przez dłuższy czas, skopiuj je do osobnej bazy danych. Po wykonaniu początkowej kopii widoku, wiersze w widoku mogą być aktualizowane w miarę gromadzenia danych. Aby zachować kopię danych up-todatę, okresowo skanuj wiersze tabelą, aby sprawdzić wzrost liczby zdarzeń istniejących wierszy i zidentyfikować nowe wiersze (unikalne wiersze można zidentyfikować według czasów początku i końca), a następnie aktualizuj swoją kopię danych o te zmiany.

Błędy nieuwzględnione

Ten widok może nie zawierać wszystkich informacji o połączeniach i błędach:

  • Ten widok nie obejmuje wszystkich błędów bazy danych, które mogą wystąpić, a jedynie te określone w typach zdarzeń w tym artykule.
  • Jeśli w centrum danych SQL Database wystąpi awaria maszyny, niewielka ilość danych może zabraknąć w tabeli zdarzeń.
  • Jeśli adres IP został zablokowany przez DoSGuard, zdarzenia prób połączenia z tym adresem IP nie mogą być zbierane i nie pojawią się w tym widoku.

Examples

Połącz się z główną bazą danych na serwerze logicznym w Azure SQL Database, aby wykonać następujące Transact-SQL zapytań.

Zapytaj widok sys.event_log

Poniższe zapytanie zwraca wszystkie wydarzenia, które miały miejsce między południem 25 marca 2022 a południem 30 marca 2022 (UTC). Domyślnie wyniki zapytań są sortowane według start_time (kolejność rosnąca).

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';  

Niepowodzenia logowania zapytań dla użytkowników

Następujące zapytanie zwraca awarie połączenia, które są nieudanymi logowaniami użytkowników, które miały miejsce między 10:00 a 11:00 w dniu 25 marca 2022 (UTC).

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';