sys.sp_readerrorlog (Transact-SQL)

Van toepassing op:SQL Server

Hiermee kun je de inhoud van het SQL Server- of SQL Server Agent-foutlogbestand lezen en filteren op trefwoorden.

Transact-SQL syntaxis-conventies

Syntax

sys.sp_readerrorlog
    [ [ @p1 = ] p1 ]
    [ , [ @p2 = ] p2 ]
    [ , [ @p3 = ] N'p3' ]
    [ , [ @p4 = ] N'p4' ]
[ ; ]

Arguments

[ @p1 = ] p1

De gehele waarde van het logboek dat je wilt bekijken. @p1 is int, met als standaard .0 Het huidige foutlogboek heeft een waarde van 0. De vorige is 1 (ERRORLOG.1), de voorgaande is 2 (ERRORLOG.2), enzovoort.

[ @p2 = ] p2

De gehele waarde voor het product waarvan je het logboek wilt bekijken. @p2 is int, met als standaard .NULL Gebruik 1 het voor SQL Server of 2 SQL Server Agent. Als er geen waarde wordt gespecificeerd, wordt het SQL Server-product gebruikt.

[ @p3 = ] N'p3'

De stringwaarde van een string waarop je wilt filteren bij het bekijken van het foutlogboek. @p3 is nvarchar(4000), met een standaard van NULL.

[ @p4 = ] N'p4'

De stringwaarde voor een extra string waarop je wilt filteren om de zoekopdracht verder te verfijnen bij het bekijken van het foutlogboek. @p4 is nvarchar(4000), met een standaard van NULL. Deze parameter biedt een extra filter voor de eerste string search @p3.

Codewaarden retourneren

None.

Resultaatset

Toont de inhoud van het gevraagde foutlogboek. Als filterstrings worden gebruikt, worden alleen de lijnen weergegeven die overeenkomen met die strings.

Remarks

Elke keer dat SQL Server wordt gestart, wordt het huidige foutlogboek hernoemd naar ERRORLOG.1; ERRORLOG.1 wordt ERRORLOG.2, ERRORLOG.2 wordt , ERRORLOG.3enzovoort. sp_readerrorlog Stelt je in staat om al deze foutlogbestanden te lezen zolang de bestanden bestaan.

Permissions

SQL Server 2019 (15.x) en eerdere versies vereisen VIEW SERVERSTAAT-toestemming op de server.

SQL Server 2022 (16.x) en latere versies vereisen een of VIEW ANY ERROR LOG of VIEW SERVER PERFORMANCE STATE toestemming op de server.

Examples

Het volgende voorbeeld cycleert het SQL Server-foutlogboek.

A. Lees het huidige SQL Server-foutlogboek

EXECUTE sp_readerrorlog;

B. Laat het vorige foutlogboek van de SQL Server Agent zien

EXECUTE sp_readerrorlog 1, 2;

C. Vind logberichten die aangeven dat een database wordt opgestart

EXECUTE sp_readerrorlog 0, 1, 'database', 'start';