Hvordan læses transaktionslogfiler?
På denne side
- Hvad er transaktionslogfiler?
- Læsning af transaktionslogfiler
- Læsning af transaktionslogfiler med fn_dblog()
- Læsning af transaktionslogfiler med fn_dump_dblog()
- Læsning af transaktionslogfiler med Database Consistency Checker (DBCC) PAGE.
- Overvåger du dine transaktionslogfiler effektivt?
Hvad er transaktionslogfiler?
Transaktionslogfiler indeholder oplysninger om alle de transaktioner, der udføres i din SQL Server. Transaktionslogfiler gemmes i en enkelt LDF-fil i standarddatabasemappen C:\Programfiler\Microsoft SQL Server\MSSQL. Hver post i transaktionsloggen har et unikt logsekvensnummer (LSN) tilknyttet. Transaktionslogfilen indeholder enorme datamængder, og det er kompliceret at analysere den manuelt.
Læsning af transaktionslogfiler
Microsoft har ikke noget dedikeret værktøj til at se, overvåge og revidere SQL Server-transaktionslogfiler. Der er dog et par metoder til at læse dine transaktionslogfiler. De er
- fn_dblog()
- fn_dump_dblog()
- DBCC PAGE-kommandoen.
Læsning af transaktionslogfiler med fn_dblog()
Funktionen fn_dblog(), når den kaldes i en database, giver dig mulighed for at se de online og aktive transaktionslogfiler. Denne funktion tager to parametre, der angiver LSN for første og sidste logpost, der skal hentes. Hvis du vil se alle de aktive og online logfiler, kan du blot nævne (NULL, NULL) som parametre til fn_dblog()-funktionen.
Funktionen kan udføres på følgende måde:
SELECT * FROM fn_dblog(NULL,NULL)
Denne funktion returnerer som standard en tabel med 129 kolonner.
Læsning af transaktionslogfiler med fn_dump_dblog()
Med fn_dump_dblog() kan du se online- og backup-transaktionslogfiler. Den tager 63 parametre, og alle skal specificeres for at udføre funktionen. Du kan bruge DEFAULT til parametrene for at få alle transaktionslogfiler.
Funktionen kan udføres på følgende måde:
SELECT * FROM fn_dump_dblog
(NULL,NULL,NULL,NULL,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,
DEFAULT,DEFAULT,DEFAULT,DEFAULT, DEFAULT)
Denne funktion returnerer også som standard en tabel med 129 kolonner.
En fordel ved at bruge fn_dump_dblog() er, at det giver dig mulighed for at gendanne din database til et bestemt tidspunkt med WITH STOPBEFOREMARK-sætningen. Det gør det muligt for DB-administratorer at rette transaktionsfejl eller fortryde ændringer, der påvirker databasens performance.
Læsning af transaktionslogfiler med Database Consistency Checker (DBCC) PAGE
DBCC page-kommandoen bruges til at se på en hvilken som helst side i SQL Server. Du skal aktivere sporingsflag 3604, der hjælper med at omdirigere et output til et resultatvindue for at se transaktionslogfiler med denne kommando. DBCC page-kommandoen til at se transaktionslogfiler kan være som følger:
DBCC TRACEON (3604, -1)
DBCC PAGE ( {'Database name' | DB_ID}, File_number, Page_number [, output={0|1|2|3} ])
Denne kommando viser en side af transaktionslogfilerne, som stadig er vanskelig at fortolke og analysere.
Overvåger du dine transaktionslogfiler effektivt?
Ovennævnte metoder er alle udokumenterede af Microsoft, og du kan bruge dem på egen risiko. Det er svært at se og analysere transaktionslogfiler via funktionerne fn_dblog() og fn_dump_dblog(), da begge disse funktioner som standard returnerer 129 kolonner. Disse data skal analyseres yderligere med forespørgsler for at få relevante og nødvendige oplysninger. Det bliver et praktisk problem for DB-administratorer at se, fortolke og analysere transaktionslogfilerne for at identificere uregelmæssigheder. Overvågning af transaktionslogfiler er ikke effektiv med disse metoder. I stedet kan du bruge en løsning til logadministration til at læse og overvåge transaktionslogfiler.
EventLog Analyzer er en løsning til logadministration, der kan indsamle, parse, indeksere og analysere dine transaktionslogfiler. Den genererer omfattende rapporter om SQL Server-transaktionslogfiler, som inkluderer en rapport om backup af transaktionsloggen. Med EventLog Analyzer kan du konfigurere advarsler i realtid for unormale aktiviteter i din SQL-forekomst. Dette giver DB-administratorerne besked via SMS og e-mail om en potentiel trussel eller et angreb. Tag et kig på EventLog Analyzers muligheder for overvågning af SQL Server.