Condividi tramite


sp_readerrorlog (Transact-SQL)

Si applica a: SQL Server

Consente di leggere il contenuto del file di log degli errori di SQL Server o SQL Server Agent e di filtrare in base alle parole chiave.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @p1 = ] p1

Valore intero del log da visualizzare. @p1 è int, con il valore predefinito 0. Il log degli errori corrente ha il valore .0 Il precedente è 1 (ERRORLOG.1), quello precedente è 2 (ERRORLOG.2) e così via.

[ @p2 = ] p2

Valore intero per il prodotto di cui si desidera visualizzare il log. @p2 è int, con il valore predefinito NULL. Usare 1 per SQL Server o 2 SQL Server Agent. Se non viene specificato un valore, viene usato il prodotto SQL Server.

[ @p3 = ] N'p3'

Valore stringa per una stringa da filtrare quando si visualizza il log degli errori. @p3 è nvarchar(4000), con il valore predefinito NULL.

[ @p4 = ] N'p4'

Valore stringa per una stringa aggiuntiva su cui filtrare per perfezionare ulteriormente la ricerca durante la visualizzazione del log degli errori. @p4 è nvarchar(4000), con il valore predefinito NULL. Questo parametro fornisce un filtro aggiuntivo alla prima ricerca di stringhe @p3.

Valori del codice restituito

Nessuno.

Set di risultati

Visualizza il contenuto del log degli errori richiesto. Se vengono utilizzate stringhe di filtro, vengono visualizzate solo le righe che corrispondono a tali stringhe.

Osservazioni:

Ogni volta che SQL Server viene avviato, il log degli errori corrente viene rinominato in ERRORLOG.1; ERRORLOG.1 diventa , ERRORLOG.2 diventa ERRORLOG.2ERRORLOG.3e così via. sp_readerrorlog consente di leggere uno qualsiasi di questi file di log degli errori purché esistano i file.

Autorizzazioni

SQL Server 2019 (15.x) e versioni precedenti richiedono l'autorizzazione VIEW SERVER STATE per il server.

SQL Server 2022 (16.x) e versioni successive richiedono l'autorizzazione VIEW ANY ERROR LOG nel server.

Esempi

Nell'esempio seguente viene ciclicamente il log degli errori di SQL Server.

R. Leggere il log degli errori di SQL Server corrente

EXECUTE sp_readerrorlog;

B. Visualizzare il log degli errori di SQL Server Agent precedente

EXECUTE sp_readerrorlog 1, 2;

C. Trovare messaggi di log che indicano l'avvio di un database

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