sys.event_log (Azure SQL Database)

gäller för:Azure SQL Database

Returnerar framgångsrika Azure SQL Database-databasanslutningar och anslutningsfel. Du kan använda den här informationen för att spåra eller felsöka databasaktiviteten.

Caution

För logiska servrar med ett stort antal databaser och/eller många inloggningar kan en sökning av sys.event_log orsaka hög resursanvändning i huvuddatabasen, vilket kan leda till inloggningsfel. För att minska effekten av detta problem, begränsa förfrågningar på sys.event_log.

Vyn sys.event_log innehåller följande kolumner.

Kolumnnamn Datatyp Description
database_name sysname Namnet på databasen. Om anslutningen misslyckas och användaren inte angav något databasnamn är denna kolumn tom.
start_time datetime2 UTC-datum och tid för starten av aggregeringsintervallet. För aggregerade händelser är tiden alltid en multipel av 5 minuter. Ett exempel:

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
end_time datetime2 UTC-datum och tid för slutet av aggregeringsintervallet. För aggregerade händelser är End_time alltid exakt 5 minuter senare än motsvarande start_time i samma rad. För händelser som inte aggregeras är start_time och end_time lika med det faktiska UTC-datumet och -tiden för händelsen.
event_category nvarchar(64) Den högnivåkomponent som skapade denna händelse.

Se Händelsetyper för en lista över möjliga värden.
event_type nvarchar(64) Typ av händelse.

Se Händelsetyper för en lista över möjliga värden.
event_subtype int Undertypen av den inträffande händelsen.

Se Händelsetyper för en lista över möjliga värden.
event_subtype_desc nvarchar(64) Beskrivningen av händelsesubtypen.

Se Händelsetyper för en lista över möjliga värden.
Svårighetsgrad int Hur allvarligt felet är. Möjliga värden är:

0 = Information
1 = Varning
2 = Fel
event_count int Antalet gånger denna händelse inträffade för den angivna databasen inom det angivna tidsintervallet (start_time och end_time).
description nvarchar(max) En detaljerad beskrivning av händelsen.

Se Händelsetyper för en lista över möjliga värden.
additional_data XML Denna kolumn används inte och bevaras för bakåtkompatibilitet.

Händelsetyper

De händelser som registreras av varje rad i denna vy identifieras av en kategori (event_category), händelsetyp (event_type) och en deltyp (event_subtype). Följande tabell listar de typer av händelser som samlas in i denna vy.

För händelser i anslutningskategorin finns sammanfattande information tillgänglig i sys.database_connection_stats-vyn.

Note

Denna vy inkluderar inte alla möjliga SQL-databashändelser som kan inträffa, endast de som listas här. Ytterligare kategorier, händelsetyper och undertyper kan läggas till i framtida versioner av SQL Database.

event_category event_type event_subtype event_subtype_desc Svårighetsgrad description
Anslutning connection_successful 0 connection_successful 0 Ansluten har lyckats till databasen.
Anslutning connection_failed 0 invalid_login_name 2 Inloggningsnamnet är inte giltigt i denna version av SQL Server.
Anslutning connection_failed 1 windows_auth_not_supported 2 Windows-inloggningar stöds inte i den här versionen av SQL Server.
Anslutning connection_failed 2 attach_db_not_supported 2 Användaren bad att bifoga en databasfil, vilket inte stöds.
Anslutning connection_failed 3 change_password_not_supported 2 Användaren begärde att byta lösenord för användaren som loggade in, vilket inte stöds.
Anslutning connection_failed 4 login_failed_for_user 2 Inloggningen misslyckades för användaren.
Anslutning connection_failed 5 login_disabled 2 Inloggningen var inaktiverad.
Anslutning connection_failed 7 blocked_by_firewall 2 Klientens IP-adress får inte komma åt servern.

Permissions

Användare med behörighet att komma åt huvuddatabasenden logiska servern i Azure SQL Database har skrivskyddad åtkomst till denna vy.

Remarks

Händelseaggregering

Händelseinformation för denna vy samlas in och aggregeras inom 5-minutersintervaller. Kolumnen event_count representerar antalet gånger en viss event_type och event_subtype inträffat för en specifik databas inom ett givet tidsintervall.

Note

Vissa händelser, såsom dödläge, aggregeras inte. För dessa händelser kommer event_count att vara 1 och start_time och end_time kommer att vara lika med det faktiska UTC-datumet och tiden då händelsen inträffade.

Till exempel, om en användare misslyckas med att ansluta till databas Databas1 på grund av ett ogiltigt inloggningsnamn, sju gånger mellan 11:00 och 11:05 den 30/3/2022 (UTC), finns denna information tillgänglig i en enda rad i denna vy:

database_name start_time end_time event_category event_type event_subtype event_subtype_desc Svårighetsgrad 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

Intervall start_time och end_time

En händelse inkluderas i ett aggregeringsintervall när händelsen inträffar eller efterstart_time och föreend_time för det intervallet. Till exempel skulle en händelse som inträffar exakt vid 2022-03-30 19:25:00.0000000 endast inkluderas i det andra intervallet som visas nedan:

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  

Datauppdateringar

Data i denna vy ackumuleras över tid. Vanligtvis samlas data inom en timme efter att aggregeringsintervallet börjat, men det kan ta upp till maximalt 24 timmar innan all data visas i vyn. Under den tiden kan informationen inom en enda rad uppdateras periodiskt.

Datakvarhållning

Datan i denna vy sparas i maximalt 30 dagar, eller möjligen mindre beroende på antalet databaser och antalet unika händelser varje databas genererar. För att behålla denna information under en längre tid, kopiera datan till en separat databas. Efter att du gjort en initial kopia av vyn kan raderna i vyn uppdateras när data ackumuleras. För att hålla din kopia av datan up-to-datum, gör periodiskt en tabellskanning av raderna för att se om antalet händelser för befintliga rader ökar och för att identifiera nya rader (du kan identifiera unika rader genom att använda start- och sluttider), och uppdatera sedan din kopia av datan med dessa ändringar.

Fel ingår inte

Denna vy kanske inte inkluderar all anslutnings- och felinformation:

  • Denna vy inkluderar inte alla SQL-databasfel som kan uppstå, endast de som anges i Händelsetyper i denna artikel.
  • Om det uppstår ett maskinfel i SQL Database-databasen kan en liten mängd data saknas i händelsetabellen.
  • Om en IP-adress har blockerats via DoSGuard kan anslutningsförsök från den IP-adressen inte samlas in och kommer inte att visas i denna vy.

Examples

Koppla upp dig mot huvuddatabasenden logiska servern i Azure SQL Database för att köra följande Transact-SQL frågor.

Sök i sys.event_log-vyn

Följande fråga återger alla händelser som inträffade mellan middagstid den 25 mars 2022 och middagstid den 30 mars 2022 (UTC). Som standard sorteras frågeresultaten efter start_time (stigande ordning).

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

Fråga efter inloggningsfel för användare

Följande fråga ger anslutningsfel som är misslyckade inloggningar för användare som inträffade mellan 10:00 och 11:00 den 25 mars 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';