Manfred Skrevet 7. april 2008 Del Skrevet 7. april 2008 Kjapt spørsmål: Kan jeg slette transaction log i databasen, dersom jeg ikke har bruk for disse til noen slags backup eller lignende, eller bør jeg løse det på en annen måte når denne loggen vokser over alle proposjoner? Lenke til kommentar
kaffenils Skrevet 7. april 2008 Del Skrevet 7. april 2008 (endret) Nei. Transaksjonsloggen er helt livsnødvendig for SQL Server. Hvis du ikke vil ta backup av den så kan du sette databasens recovery model til Simple. Da vil transaksjonsloggen i prinsippet kun inneholde informasjon som behøves for rollback/commit og undo/redo informasjon ved recovery når SQL Server startes opp. (les mer i BOL hva dette innebærer). Endret 7. april 2008 av kaffenils Lenke til kommentar
Manfred Skrevet 7. april 2008 Forfatter Del Skrevet 7. april 2008 Men jeg kan jo sette en maksstørrelse på denne. Hvor stor bør den være? Nå er den på 2.3 GB for en db på 23MB, så det virker litt digert... Nå står den på "File growthg by percent: 10%", som da vil være 10% av hva? og "Maximum file size: Unrestricted" Lenke til kommentar
kaffenils Skrevet 7. april 2008 Del Skrevet 7. april 2008 Ja, du kan sette en maksstørrelse, men når loggen når denne størrelsen og ikke kan utvides mer så kan du heller gjøre endringer i databasen. Grunnen til at den er diger er jo at alle transaksjoner logges. Sett recovery model til Simple, reduser filstørrelsen til f.eks. 50MB og se om den fortsatt vokser i det uendelige. Du kan få en beskrivelse over hva årsaken til at deler (virtuelle log filer, se BOL: virtual logs) i transaksjonsloggen ikke ikke gjenbrukes ved å liste kolonnen log_reuse_wait_desc i viewet sys.databases. Ellers så kan du google DBCC LOGINFO (udokumentert DBCC kommando) for å få detaljert over virtuelle log filer i en fysisk transaksjonslogg. Lenke til kommentar
Manfred Skrevet 7. april 2008 Forfatter Del Skrevet 7. april 2008 Så jeg kan sette Maximum file size til f.eks 50MB, selv om filen pr i dag er på 2300MB? Har satt den til Simple i alle fall. Lenke til kommentar
j000rn Skrevet 7. april 2008 Del Skrevet 7. april 2008 Så jeg kan sette Maximum file size til f.eks 50MB, selv om filen pr i dag er på 2300MB? Har satt den til Simple i alle fall. Ikke sett maks størrelse. Lag heller en jobb som rutinemessig shrink'er filen til en størrelse du har valg. F.eks. 1Gb. Ved å sette maks størrelse vil du kunne oppleve at databasen din plutselig blir "read-only" på grunn av at transaksjonsloggen er full. Lenke til kommentar
Manfred Skrevet 7. april 2008 Forfatter Del Skrevet 7. april 2008 Men hvordan shrinker jeg den? Lenke til kommentar
roac Skrevet 7. april 2008 Del Skrevet 7. april 2008 Så jeg kan sette Maximum file size til f.eks 50MB, selv om filen pr i dag er på 2300MB? Har satt den til Simple i alle fall. Ikke sett maks størrelse. Lag heller en jobb som rutinemessig shrink'er filen til en størrelse du har valg. F.eks. 1Gb. Ved å sette maks størrelse vil du kunne oppleve at databasen din plutselig blir "read-only" på grunn av at transaksjonsloggen er full. Er det en ting du ikke skal gjøre, unntatt i enkelte svært spesielle tilfeller, så er det i hvert fall det du anbefaler her. Man skal IKKE ha en jobb som regelmessig shrinker loggfilen, men snarere sørge for at loggfilen er stor nok og således ikke trenger å vokse, og ei heller krympes. Unntaket vil typisk være tilfeller hvor det loggfilene vokser seg svært store i enkelte "spesielle" tilfeller, som f eks årlig registrering/innlesing av data. Lenke til kommentar
j000rn Skrevet 7. april 2008 Del Skrevet 7. april 2008 Så jeg kan sette Maximum file size til f.eks 50MB, selv om filen pr i dag er på 2300MB? Har satt den til Simple i alle fall. Ikke sett maks størrelse. Lag heller en jobb som rutinemessig shrink'er filen til en størrelse du har valg. F.eks. 1Gb. Ved å sette maks størrelse vil du kunne oppleve at databasen din plutselig blir "read-only" på grunn av at transaksjonsloggen er full. Er det en ting du ikke skal gjøre, unntatt i enkelte svært spesielle tilfeller, så er det i hvert fall det du anbefaler her. Man skal IKKE ha en jobb som regelmessig shrinker loggfilen, men snarere sørge for at loggfilen er stor nok og således ikke trenger å vokse, og ei heller krympes. Unntaket vil typisk være tilfeller hvor det loggfilene vokser seg svært store i enkelte "spesielle" tilfeller, som f eks årlig registrering/innlesing av data. Enig i det, men 1GB burde i de fleste tilfeller være stort nok så lenge han bruker Simple Recovery Model Lenke til kommentar
Manfred Skrevet 8. april 2008 Forfatter Del Skrevet 8. april 2008 Men dere mener altså at bare ved å sette den til Simple, så vil filen holde seg relativt liten? Lenke til kommentar
kaffenils Skrevet 8. april 2008 Del Skrevet 8. april 2008 Men dere mener altså at bare ved å sette den til Simple, så vil filen holde seg relativt liten? Ja. Men vær klar over at aktive transaksjoner i en virtuell log medfører at denne (den virtuelle loggen) ikke kan gjenbrukes. Vær også klar over at du ikke bør sette for liten "size" og "growth increment" på log filen da dette kan påvirke ytelsen negativt ved at den fysiske log filen da vil endre opp med mange små virtuelle log filer. Fra "Transaction log physical architecture" i BOL: The only time virtual log files affect system performance is if the log files are defined by small size and growth_increment values. If these log files grow to a large size because of many small increments, they will have lots of virtual log files. This can slow down database startup and also log backup and restore operations. We recommend that you assign log files a size value close to the final size required, and also have a relatively large growth_increment value Lenke til kommentar
Manfred Skrevet 8. april 2008 Forfatter Del Skrevet 8. april 2008 Kan jeg uten problemer bruke valget "Auto shrink" under "Options" for databasen? Lenke til kommentar
kaffenils Skrevet 8. april 2008 Del Skrevet 8. april 2008 Kan jeg uten problemer bruke valget "Auto shrink" under "Options" for databasen? Det vil gå ut over ytelsen både når filene krympes og når de deretter må utvides igjen. Så får du selv bestemme deg for (og teste) om denne ytelsesredusksjonen er akseptabel. Lenke til kommentar
Manfred Skrevet 8. april 2008 Forfatter Del Skrevet 8. april 2008 Ok Det er pt ikke spesielt mye belastining på databasen, så jeg tror ikke det skal være noe problem. Men vil loggen bare fortsette å vokse hele tiden, eller slettes det gamle ting der av seg selv? Lenke til kommentar
kaffenils Skrevet 8. april 2008 Del Skrevet 8. april 2008 Hvis recovery model er Simple så skal virtuelle log filer som ikke er aktive gjenbrukes, og log filen vil derfor ikke vokse. Lenke til kommentar
roac Skrevet 9. april 2008 Del Skrevet 9. april 2008 Hvis recovery model er Simple så skal virtuelle log filer som ikke er aktive gjenbrukes, og log filen vil derfor ikke vokse. Med mindre det kommer en ekstremt stor transaksjon, men det er jo ikke akkurat noe problem her etter det jeg har forstått. Lenke til kommentar
Manfred Skrevet 9. april 2008 Forfatter Del Skrevet 9. april 2008 hehe. Nei, ikke akkurat Det er generelt småting som plopper inn, hentes ut og oppdateres... Lite jobb som ligger i selve sql serveren, egentlig. Lenke til kommentar
Kul drittunge Skrevet 23. april 2008 Del Skrevet 23. april 2008 Vet ikke om du har funnet ut av det enda, men her er en grei måte som funker både på 200 og 2005. use test go select * from sysfiles; dbcc shrinkfile ('test_log'); backup log test with truncate_only; dbcc shrinkfile ('test_log', 2); Lenke til kommentar
roac Skrevet 23. april 2008 Del Skrevet 23. april 2008 Vel, jeg synes nå ikke det er greit å ikke gjøre jobben skikkelig. Hvis du har råd til å forkaste transaksjonsloggen, så skal recovry model være satt til simple. SÅ kan du krympe loggen, til en størrelse som er så stor at du ikke forventer at loggen trenger å vokse. Lenke til kommentar
Manfred Skrevet 23. april 2008 Forfatter Del Skrevet 23. april 2008 det er bare på dev den ikke står på simple. i det jeg skulle flytte den over til prod satte jeg den til simple der, og har ikke noen problemer med loggen nå Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå