SQL-logfiler kan blive udmattende store med tiden, dermed bruger diskplads og potentielt kan det føre til ydelsesproblemer. Denne vejledning viser dig, hvordan du på sikker vis kan skrænke SQL Server-transaktionslogfiler for at frigøre lagringsplads og opretholde optimal systemydelse.
Baggrund
Når du bruger SQL Server med iBase, oprettes to SQL-databaser - en til data og en anden til logfiler. SQL-serveren genererer en logfil for hver database. Selvom denne logfil er en intern SQL Server-komponent og ikke påvirker iBase direkte, kan logfilsstørrelsen vokse betydeligt og forårsage afbrydelser.
Problemer som forsinkede iBase-respondtider eller fejlmeddelelser om utilstrækkelig ledig diskplads kan opstå, når logfiler bliver for store. Dette sker typisk, fordi databasegenoptagelsesmodus er indstillet til "Full" som standard, hvilket forhindrer automatisk rensning af logfiler.
Miljø
SQL Server-lager
Hvordan du identificerer problemet
På Windows navigerer du til mappen, der indeholder databasefilerne. Se efter filer med en .ldf-udvidelse og vurder deres størrelser. Hvis disse filer ser udmattende store ud (flere gigabyte eller mere), overvej at implementere reduktionsmål.
Hvordan du skrænkker SQL-logfilen
-
Trin 1: Åbn databaseegenskaber
I SQL Server Management Studio, højreklik på databasen og vælg Egenskaber, derefter vælg Indstillinger.
-
Trin 2: Ændr genoptagelsesmodus til Simple
Sørg for, at "Genoptagelsesmodus" er indstillet til "Simple" (ikke "Full") og klik på OK.
Bemærk: Dette deaktiverer midlertidigt transaktionslogbackups. Du vil gendanne denne indstilling efter skrænkning.
-
Trin 3: Adgang til Skrænk filer-dialogboksen
Højreklik på databasen igen, vælg Opgaver > Skrænk > Filer.
-
Trin 4: Vælg logfiltype
I dialogboksen ændrer du filtypen dropdown til "Log".
-
Trin 5: Indstil målstørrelse og skrænk
Sæt logfilsstørrelsen til 100 MB (eller en passende størrelse til dine behov) og klik på OK.
-
Trin 6: Verificér størrelsesreduktion
Naviger til databasefolderen og tjek
.ldf-filens størrelse for at bekræfte reduktionen. -
Trin 7: Gendan genoptagelsesmodus til Full
Gå tilbage til databaseegenskaber > Indstillinger og ændr "Genoptagelsesmodus" tilbage til "Full". Klik på OK.
Vigtigt: Dette trin gendanner normale backup- og genoprettelsescapaciteter.
Alternativ: Brug SQL-kommandoer
Du kan også udføre disse trin ved hjælp af SQL-kommandoer:
-- Sæt genoptagelsesmodus til Simple
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
GO
-- Skrænk logfil
DBCC SHRINKFILE (mydatabase_Log, 1)
GO
-- Gendan genoptagelsesmodus til Full
ALTER DATABASE mydatabase SET RECOVERY FULL
GO
Advarsel: Erstat mydatabase med dit faktiske databasenavn, og mydatabase_Log med den logiske navn på din logfil (synlig i Skrænk filer-dialogboksen).
Fælles problemer
- Logfilen vil ikke skrænkes: Sørg for, at der ikke er aktive transaktioner. Du måske skal udføre
CHECKPOINTfør skrænkning. - Filen vokser hurtigt igen: Hvis logfilen bliver stor igen hurtigt efter skrænkning, overvej at planlægge regelmæssige transaktionslogbackups (når i Full-genoptagelsesmodus) eller undersøge forespørgsler, der genererer ekstrem logaktivitet.
- Utilstrækkelige rettigheder: Du har brug for
db_owner- ellersysadmin-rettigheder til at ændre genoptagelsesmodi og skrænke filer.