I registri si riferiscono a una serie di record creati da un'applicazione per descrivere i dettagli degli eventi e delle azioni eseguite dall'applicazione. Quasi tutte le applicazioni implementano un meccanismo di registrazione per aiutare gli sviluppatori e gli utenti a risolvere i problemi degli errori che possono insorgere.
Come puoi immaginare, SQL Server ci fornisce registri che ci consentono di seguire e risolvere i problemi degli eventi che si verificano nel server. In alcuni casi, è possibile utilizzare i registri SQL Server per recuperare da un errore di database.
Questo tutorial discute di come è possibile utilizzare la procedura memorizzata SP_Readerrorlog per leggere i registri creati da SQL Server e SQL Server Agent.
SP_READERRORLOGS () Sintassi della procedura
Di seguito mostra la sintassi della procedura memorizzata SP_ReaderrorLog nel server SQL:
sp_readerrorlogArgomenti accettati
La procedura accetta i seguenti argomenti definiti nella sintassi data:
La funzione restituisce quindi il contenuto del registro di errore, corrispondente al modello specifico.
SQL Server crea un registro di errore per ogni istanza che il server viene avviato. I registri di errore sono denominati ERROWLOG1, ERROWLOG2, ERRORLOG3, ecc.
Esempio di utilizzo:
I seguenti esempi mostrano come possiamo utilizzare la procedura memorizzata SP_Readerrorlog per leggere i registri disponibili.
Utilizzando SP_Readerrorlog () per leggere il registro degli errori corrente
L'esempio seguente utilizza SP_Readerrorlog () per leggere il registro degli errori corrente:
Exec SP_Readerrorlog;Senza alcun parametro, la query precedente restituisce il registro degli errori corrente per SQL Server.
Un output di esempio è il seguente:
Utilizzo di SP_Readerrorlog () per leggere l'errore in un indice specifico
Per leggere Errorlog3 per SQL Server, possiamo eseguire la query come segue:
Exec SP_Readerrorlog 3, 1;In questo caso, la procedura dovrebbe restituire il contenuto del file Errorlog3 per SQL Server.
Trova il registro con stringa specifica
Per filtrare i registri con una stringa specifica, possiamo eseguire la seguente query:
Exec SP_Readerrorlog 5, 1, "Avvio", "Master";In questo caso, la query precedente dovrebbe restituire i registri all'avvio del database principale. Un output di esempio è come mostrato nel seguente:
Logdate | ProcessInfo | Testo |Conclusione
In questo articolo, hai imparato come utilizzare la procedura memorizzata SP_RederrorLog SP_Rederrorlog per leggere i registri degli errori nel server SQL.
Grazie per aver letto!