25. november 2004 - 13:17Der er
10 kommentarer og 1 løsning
Shrink/truncate log filen
Jeg har flere databaser hvor log filerne er vokset til en størrelse, der ikke kan være rigtigt.
Jeg har "leget" lidt med en af databaserne, hvor jeg brugte "shrink Database" funktionen gennem Enterprise Manageren, og det formindskede MDF filen fra 90 til 13 MB, men LDF filen er stadig på 570 MB.
Jeg prøvede så at bruge "Shrink files" punktet, og valgte logfilen. Den sagde første gang at "used space" var ca. 80 MB, men efter jeg har prøvet "Shrink files" et par gange med forskellige actions er det steget til 160. Det sjove er at ingen af mine forsøg formindskede størrelsen på filen (som stadig er 570 MB), selv "shrink file to" actionen formindskede filen, selvom jeg satte den til 200 MB.
Mit ? er derfor: Hvordan formindsker jeg log filens størrelse gennem Enterprice Manageren?
Der bliver taget daglig backup og på et tidspunkt, skal den også sættes til at formindske databasen (MDF og LDF filerne) automatisk, men det burde jeg nok selv kunne finde ud af, når jeg har lært hvordan jeg for klaret den log fil.
Det ved jeg faktisk ikke, da det ikke er mig der har sat det op. Jeg er ellers hærdet i SQL, men jeg er nu blevet sat til at skulle administrere vores SQL servere også, og det er jeg så igang med at lære nu. Og min første opgave er at få de log filer forminsket.
Jeg har lige fået fat i noget der ligner en manual til SQL Server administration, så den kikker jeg lige lidt i. Nogle ting er bare nemmere at finde i en bog.
Et lille ?. Hvis man tager en "Database - complete" backup, får man vel en backup, der er "up to date" med alle informationer i databasen. Den jeg lavede fylte (ca 14 MB), men en transaction log fylder 160 MB. Hvad kan jeg bruge den log fil til?? Er det til at lave roleback i "complete" backuppen???
Transaktions loggen bruges som navnet antyder til transaktions styring (commit og rollback), men hvis det kun var det så blev pladsen jo frigivet ved commit rollback.
Men SQLServer beholder transaktionerne. D.v.s. at du kan restore en database backup og så reapplye alle transaktioner i transaktions loggen til den.
Transaktions loggen tømmes (reelt: pladsen markeres som genbrugelig) når man laver en BACKUP LOG af data.
Eller hvis man sætter databasen til at gøre det ved et periodisk checkpoint (hedder noget andet i nyere SQLServer versioner).
rem Husk at erstatte @database med relevant databasenavn
BACKUP LOG @database WITH TRUNCATE_ONLY go dbcc shrinkdatabase (@database,10) go
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.