SQL Server SP_RereerRorlog

SQL Server SP_RereerRorlog

Logger refererer til en serie poster opprettet av en applikasjon for å beskrive detaljene om hendelsene og handlingene utført av applikasjonen. Nesten alle applikasjoner implementerer en loggmekanisme for å hjelpe utviklerne og brukerne til å feilsøke feilene som kan oppstå.

Som du kan gjette, gir SQL Server oss logger som lar oss følge og feilsøke hendelsene som oppstår på serveren. I noen tilfeller kan du bruke SQL Server -logger for å gjenopprette fra en databasefeil.

Denne opplæringen diskuterer hvordan du kan bruke SP_RereerRorLog -lagret prosedyre for å lese logger som er opprettet av SQL Server og SQL Server Agent.

SP_ReRorLogs () Prosedyre Syntaks

Følgende viser syntaks for SP_RereerRorLog lagret prosedyre i SQL -serveren:

SP_REARRORLOG
@p1 int = 0,
@p2 int = null,
@P3 nvarchar (4000) = null,
@P4 nvarchar (4000) = null

Aksepterte argumenter

Prosedyren godtar følgende argumenter som definert i den gitte syntaks:

  1. @P1 - Dette definerer loggen du ønsker å se som en heltallverdi. Gjeldende feillog har en verdi på 0, den før som har en verdi på 1, den andre før med en verdi på 2 osv.
  2. @P2 - P2 -parameteren lar deg definere produktet hvis logger er det du ønsker å se som en heltallverdi med 1 for SQL Server og 2 for SQL Server Agent. Som standard returnerer prosedyren loggene for SQL -serveren.
  3. @P3 - P3 -parameteren lar deg definere strengen du ønsker å filtrere når du henter loggene. Som standard er denne verdien null.
  4. @P4 - Til slutt lar P4 -parameteren deg definere en andre streng for å søke når du filtrerer loggene. Dette er nyttig når du trenger å avgrense søkemønsteret ditt.

Funksjonen returnerer deretter innholdet i feilloggen, og samsvarer med det spesifikke mønsteret.

SQL Server oppretter en feillogg for alle forekomster som serveren startes. Feilloggene heter feillog1, errorlog2, errorlog3, etc.

Eksempelbruk:

Følgende eksempler viser hvordan vi kan bruke SP_RereerRorLog -lagret prosedyre for å lese tilgjengelige logger.

Bruke SP_RereerRorLog () for å lese gjeldende feillogger

Følgende eksempel bruker SP_RereerRorLog () for å lese gjeldende feillog:

exec sp_rereerrorlog;

Uten noen parametere returnerer den forrige spørringen den gjeldende feilloggen for SQL -serveren.

Et eksempelutgang er som følger:

Bruke SP_RereerRorLog () for å lese feilen på en spesifikk indeks

For å lese feillog3 for SQL Server, kan vi kjøre spørringen som følger:

Exec SP_ReerRorLog 3, 1;

I dette tilfellet skal prosedyren returnere innholdet i feillog3 -filen for SQL -serveren.

Finn loggen med spesifikk streng

For å filtrere loggene med en spesifikk streng, kan vi kjøre følgende spørsmål:

exec sp_rereerrorlog 5, 1, 'start up', 'master';

I dette tilfellet bør den forrige spørringen returnere loggene når hoveddatabasen starter. Et eksempelutgang er som vist i følgende:

Logdate | ProcessInfo | Tekst |
-----------------------+-----------+------------------------------+
2022-10-17 14:44:28.550 | Spid9s | Start opp databasen 'Master'.|

Konklusjon

I denne artikkelen lærte du hvordan du bruker SQL Server SP_ReerRorLog lagret prosedyre for å lese feilloggene på SQL Server.

Takk for at du leste!