sys.event_log (Azure SQL Database)

Van toepassing op:Azure SQL Database

Geeft succesvolle Azure SQL Database-databaseverbindingen en verbindingsmislukkingen terug. U kunt deze informatie gebruiken om uw databaseactiviteit bij te houden of problemen op te lossen.

Caution

Voor logische servers met een groot aantal databases en/of een hoog aantal inlogs kan het opvragen van sys.event_log leiden tot een hoog resourceverbruik in de hoofddatabase, wat mogelijk kan leiden tot inlogfouten. Om de impact van dit probleem te verminderen, beperk de zoekopdrachten aan sys.event_log.

De sys.event_log weergave bevat de volgende kolommen.

Kolomnaam Gegevenssoort Description
database_name sysname Naam van de database. Als de verbinding faalt en de gebruiker geen databasenaam heeft opgegeven, is deze kolom leeg.
start_time datetime2 UTC-datum en -tijd van het begin van het aggregatieinterval. Voor geaggregeerde gebeurtenissen is de tijd altijd een veelvoud van 5 minuten. Voorbeeld:

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
end_time datetime2 UTC-datum en -tijd van het einde van het aggregatieinterval. Voor geaggregeerde gebeurtenissen is End_time altijd precies 5 minuten later dan de overeenkomstige start_time in dezelfde rij. Voor gebeurtenissen die niet worden samengevoegd, zijn start_time en end_time gelijk aan de daadwerkelijke UTC-datum en -tijd van het evenement.
event_category nvarchar(64) De hooggeplaatste component die dit evenement heeft veroorzaakt.

Zie Gebeurtenistypen voor een lijst van mogelijke waarden.
event_type nvarchar(64) Het type gebeurtenis.

Zie Gebeurtenistypen voor een lijst van mogelijke waarden.
event_subtype int Het subtype van het voorval.

Zie Gebeurtenistypen voor een lijst van mogelijke waarden.
event_subtype_desc nvarchar(64) De beschrijving van het event-subtype.

Zie Gebeurtenistypen voor een lijst van mogelijke waarden.
Ernst int De ernst van de fout. Mogelijke waarden zijn:

0 = Informatie
1 = Waarschuwing
2 = Fout
event_count int Het aantal keren dat dit evenement zich voordeed voor de gespecificeerde database binnen het gespecificeerde tijdsinterval (start_time en end_time).
description nvarchar(max) Een gedetailleerde beschrijving van het evenement.

Zie Gebeurtenistypen voor een lijst van mogelijke waarden.
additional_data XML Deze kolom wordt niet gebruikt en behouden voor achterwaartse compatibiliteit.

Gebeurtenistypen

De gebeurtenissen die door elke rij in deze weergave worden geregistreerd, worden geïdentificeerd door een categorie (event_category), gebeurtenistype (event_type) en een subtype (event_subtype). De volgende tabel geeft een overzicht van de soorten gebeurtenissen die in deze weergave worden verzameld.

Voor gebeurtenissen in de connectiviteitscategorie is samenvattende informatie beschikbaar in de sys.database_connection_stats weergave.

Note

Deze weergave omvat niet alle mogelijke gebeurtenissen in de SQL-databasedatabase die kunnen optreden, alleen de hier vermelde gebeurtenissen. Extra categorieën, gebeurtenistypen en subtypes kunnen in toekomstige versies van SQL Database worden toegevoegd.

event_category event_type event_subtype event_subtype_desc Ernst description
Connectiviteit connection_successful 0 connection_successful 0 Succesvol verbonden met database.
Connectiviteit connection_failed 0 invalid_login_name 2 De inlognaam is niet geldig in deze versie van SQL Server.
Connectiviteit connection_failed 1 windows_auth_not_supported 2 Windows-aanmeldingen worden niet ondersteund in deze versie van SQL Server.
Connectiviteit connection_failed 2 attach_db_not_supported 2 De gebruiker heeft gevraagd om een databasebestand toe te voegen, wat niet wordt ondersteund.
Connectiviteit connection_failed 3 change_password_not_supported 2 De gebruiker heeft gevraagd om het wachtwoord van de gebruiker die inlogt te wijzigen, wat niet wordt ondersteund.
Connectiviteit connection_failed 4 login_failed_for_user 2 Inlogen mislukt voor de gebruiker.
Connectiviteit connection_failed 5 login_disabled 2 De login was uitgeschakeld.
Connectiviteit connection_failed 7 blocked_by_firewall 2 Het client-IP-adres mag niet de server benaderen.

Permissions

Gebruikers met toestemming om toegang te krijgen tot de hoofddatabase op de logische server in Azure SQL Database hebben alleen-lezen toegang tot deze weergave.

Remarks

Gebeurtenisaggregatie

Gebeurtenisinformatie voor deze weergave wordt verzameld en geaggregeerd binnen intervallen van 5 minuten. De kolom event_count geeft het aantal keren dat een bepaalde event_type en event_subtype zich voor een specifieke database binnen een bepaald tijdsinterval voordeden.

Note

Sommige gebeurtenissen, zoals deadlocks, worden niet geaggregeerd. Voor deze gebeurtenissen is event_count 1 en start_time en end_time gelijk aan de werkelijke UTC-datum en -tijd waarop het evenement plaatsvond.

Als een gebruiker bijvoorbeeld zeven keer tussen 11:00 en 11:05 op 30-3-2022 (UTC) geen verbinding maakt met database Database1 vanwege een ongeldige inlognaam, is deze informatie beschikbaar in één enkele rij in deze weergave:

database_name start_time end_time event_category event_type event_subtype event_subtype_desc Ernst 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

Interval start_time en end_time

Een gebeurtenis wordt opgenomen in een aggregatie-interval wanneer de gebeurtenis plaatsvindt op of nastart_time en vóórend_time voor dat interval. Bijvoorbeeld, een gebeurtenis die precies optreedt om 2022-03-30 19:25:00.0000000 zou alleen worden opgenomen in het tweede interval hieronder weergegeven:

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  

Gegevensupdates

Gegevens in deze weergave worden in de loop van de tijd verzameld. Meestal worden de gegevens binnen een uur na het begin van het aggregatieinterval verzameld, maar het kan maximaal 24 uur duren voordat alle data in de weergave verschijnen. Gedurende die tijd kan de informatie binnen één enkele rij periodiek worden bijgewerkt.

Gegevensretentie

De gegevens in deze weergave worden maximaal 30 dagen bewaard, of mogelijk minder, afhankelijk van het aantal databases en het aantal unieke gebeurtenissen dat elke database genereert. Om deze informatie langer te bewaren, kopieer je de gegevens naar een aparte database. Nadat je een eerste kopie van de weergave hebt gemaakt, kunnen de rijen in de weergave worden bijgewerkt naarmate de gegevens worden verzameld. Om je kopie van de data up-to-datum te houden, voer je periodiek een tabelscan uit van de rijen om te kijken naar een toename van het aantal gebeurtenissen van bestaande rijen en om nieuwe rijen te identificeren (je kunt unieke rijen identificeren met de begin- en eindtijden), en werk vervolgens je kopie van de data bij met deze wijzigingen.

Fouten niet inbegrepen

Deze weergave bevat mogelijk niet alle verbindings- en foutinformatie:

  • Deze weergave omvat niet alle fouten in de SQL-databasedatabase die kunnen optreden, alleen die gespecificeerd in Event Types in dit artikel.
  • Als er een machinestoring is binnen het SQL Database-datacenter, kan er een kleine hoeveelheid data ontbreken in de gebeurtenistabel.
  • Als een IP-adres is geblokkeerd via DoSGuard, kunnen verbindingspogingen van dat IP-adres niet worden verzameld en verschijnen ze niet in deze weergave.

Examples

Verbind met de hoofddatabase op de logische server in Azure SQL Database om de volgende Transact-SQL queries uit te voeren.

Zoek naar de sys.event_log view

De volgende zoekopdracht geeft alle gebeurtenissen terug die plaatsvonden tussen het middaguur op 25 maart 2022 en het middag op 30 maart 2022 (UTC). Standaard worden zoekresultaten gesorteerd op start_time (oplopende volgorde).

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

Vraag naar inlogfouten voor gebruikers

De volgende zoekopdracht geeft verbindingsfouten op die mislukte inlogs zijn voor gebruikers die plaatsvonden tussen 10:00 en 11:00 op 25 maart 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';