Artikel-id: 873235 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

På denne side

INTRODUKTION

I denne artikel beskrives den fremgangsmåde, du skal benytte, når transaktionsloggene bliver for store. Fulde transaktionslogge kan gøre Microsoft SQL Server-databasen ubrugelig. I denne artikel beskrives, hvordan du afkorter og formindsker transaktionslogge, og hvordan du hindrer, at transaktionsloggene vokser uventet.

Yderligere Information

Reducere størrelsen på transaktionsloggen

Hvis du vil genoprette fra en situation, hvor transaktionsloggen er fuld, skal du reducere størrelsen af transaktionsloggene. Det gør du ved at afkorte de inaktive transaktioner i transaktionsloggen og formindske transaktionsloggen.

Bemærk! Transaktionsloggene er meget vigtige for at kunne opretholde transaktionsintegriteten i databasen. Du må derfor ikke slette transaktionsloggene, heller ikke efter du har lavet en sikkerhedskopi af databasen og transaktionsloggene.


Du kan finde flere oplysninger om, hvordan du reducerer størrelsen af transaktionsloggen på følgende Microsoft-websted. Webstedet er evt. på engelsk:
Formindske transaktionsloggen til SQL Server 2000
Formindske transaktionsloggen til SQL Server 2005

Afkorte inaktive transaktioner i transaktionsloggen

Når transaktionsloggen er fuld, skal du med det samme lave en sikkerhedskopi af transaktionsloggen. Mens sikkerhedskopien af transaktionsloggene oprettes, afkorter SQL Server automatisk den inaktive del af transaktionsloggen. Den inaktive del af transaktionsloggen indeholder de fuldført transaktioner, og transaktionsloggen bruges derfor ikke længere af SQL Server under genoprettelsesprocessen. SQL Server genbruger denne afkortede, inaktive plads i transaktionsloggen i stedet for at tillade, at transaktionsloggen fortsætter med at vokse og bruge mere plads.

Du kan finde flere oplysninger om de problemer, du kan støde på, når du laver en sikkerhedskopi af transaktionsloggene, og når du genopretter sikkerhedskopien af transaktionsloggene, under følgende emner i SQL Server Books Online. Emnerne er evt. på engelsk:
  • Sikkerhedskopier af transaktionslogge
  • Sikkerhedskopiering og gendannelse af transaktionslogge
Du kan også slette inaktive transaktioner fra en transaktionslog ved at bruge metoden Afkorte. Du kan finde flere oplysninger om afkortelse af transaktionslogge under emnet om afkortelse af en transaktionslog i SQL Server Books Online.

Vigtigt! Efter du har afkortet transaktionsloggene manuelt, skal du oprette en sikkerhedskopi af hele databasen, inden du opretter en sikkerhedskopi af transaktionsloggen.

Du kan finde flere oplysninger om de problemer, der kan opstå, efter du har afkortet transaktionsloggene, ved at klikke på følgende artikelnummer for at få vist artiklen i Microsoft Knowledge Base. Artiklen er evt. på engelsk:
62866 Årsager til, at SQL-transaktionslogge ikke afkortes Artiklen er evt. på engelsk.

Formindske transaktionslogfilen

Under sikkerhedskopieringen eller metoden Afkorte reduceres størrelsen på logfilen ikke. Hvis du vil reducere størrelsen på transaktionslogfilen skal du formindske transaktionslogfilen. Du skal bruge metoden DBCC SHRINKFILE for at formindske en transaktionslogfil til den ønskede størrelse og fjerne de ubrugte sider. Det er kun den inaktive del i logfilen, der kan formindskes ved hjælp af sætningen DBCC SHRINKFILE Transact-SQL.

Bemærk! Logfilen kan ikke afkortes, og den brugte plads i loggen kan ikke formindskes ved kun at bruge sætningen DBCC SHRINKFILE Transact-SQL.

Du kan finde flere oplysninger om formindskelse af transaktionslogge under følgende emner i SQL Server Books Online. Emnerne er evt. på engelsk:
  • Formindske transaktionsloggen
  • DBCC SHRINKFILE
Du kan finde flere oplysninger om, hvordan du formindsker transaktionsloggene i SQL Server 2000 ved at klikke på følgende artikelnummer for at få vist artiklen i Microsoft Knowledge Base. Artiklen er evt. på engelsk:
272318 Formindskelse af transaktionsloggen i SQL Server 2000 ved hjælp af DBCC SHRINKFILE Artiklen er evt. på engelsk.
Du kan finde flere oplysninger om de problemer, der kan opstå, efter du har formindsket transaktionsloggene, ved at klikke på følgende artikelnumre for at få vist artiklerne i Microsoft Knowledge Base. Artiklerne er evt. på engelsk:
814574 PRB: Fejlmeddelelse: "Kan ikke formindske logfil..." opstår, når du formindsker transaktionsloggen Artiklen er evt. på engelsk.
324432 PRB: Kommandoerne DBCC SHRINKFILE og SHRINKDATABASE fungerer måske ikke på grund af sparsomt udfyldt tekst, ntext eller billedkolonner Artiklen er evt. på engelsk.

Hindre at transaktionsloggene vokser uventet

Du kan bruge en af følgende metoder til at hindre, at transaktionsloggene vokser uventet:
  • Angiv størrelsen på transaktionsloggene til at stor værdi for at undgå, at transaktionsloggene automatisk udvides.
  • Konfigurer den automatiske udvidelse af transaktionslogge ved hjælp af hukommelsesenheder i stedet for en procentdel, efter du omhyggeligt har vurderet den optimale hukommelsesstørrelse.

    Du kan finde flere oplysninger om, hvordan du konfigurerer indstillingen for automatisk udvidelse ved at klikke på følgende artikelnummer for at få vist artiklen i Microsoft Knowledge Base. Artiklen er evt. på engelsk:
    315512 Overvejelser ved konfiguration af automatisk udvidelse og formindskning Artiklen er evt. på engelsk.
  • Ændre genoprettelsesmodel. Hvis der opstår et nedbrud, eller hvis data bliver beskadiget, skal du genoprette databasen, så overensstemmelsen af dataene og transaktionsintegriteten i databasen bevares. På baggrund af hvor kritiske dataene i databasen er, kan du bruge en af følgende genoprettelsesmodeller til at afgøre, hvordan dataene sikkerhedskopieres, og hvordan du berøres af datatabet:
    • Enkel genoprettelsesmodel
    • Komplet genoprettelsesmodel
    • Masselogført genoprettelsesmodel
    Ved hjælp af den enkle genoprettelsesmodel kan du genoprette databasen til den nyeste sikkerhedskopi, der er lavet af databasen. Ved hjælp af den komplette genoprettelsesmodel eller den masselogførte genoprettelsesmodel kan du genoprette databasen til det punkt, hvor fejlen opstod ved at genoprette databasen ved hjælp af sikkerhedskopierne af transaktionslogfilen.

    Genoprettelsesmodellen for en SQL Server-database er som standard angivet til den komplette genoprettelsesmodel i SQL Server 2000 og SQL Server 2005. I den komplette genoprettelsesmodel bruges regelmæssige sikkerhedskopier af transaktionslogfilen til at hindre, at transaktionslogfilen bliver for stor i forhold til størrelsen af databasen. Hvis den regelmæssige sikkerhedskopiering af transaktionsloggen ikke udføres, vokser filen dog og fylder disken, og du kan måske ikke udføre nogen ændringer af data på SQL Server-databasen.

    Du kan skifte genoprettelsesmodellen fra den komplette til den enkle, hvis du ikke vil bruge transaktionsloggene ved genoprettelse efter nedbrud.
  • Lav regelmæssigt en sikkerhedskopi af transaktionsloggene for at slette de inaktive transaktioner i transaktionsloggen.
  • Udform transaktionerne til at være små.
  • Sørg for, at der ikke er nogen ubekræftede transaktioner, der fortsat kører i et ubestemt tidsrum.
  • Planlæg, at opdatering af statistik foregår dagligt.
  • Brug sætningen DBCC INDEXDEFRAG Transact-SQL i stedet for sætningen DBCC DBREINDEX Transact-SQL til at defragmentere indeksene, og udnyt fordelene ved ydeevnen i arbejdsmængderne i dit produktionsmiljø. Hvis du kører sætningen DBCC DBREINDEX, udvides transaktionsloggen måske markant, når SQL Server-databasen er i tilstanden Komplet genoprettelse. I modsætning til sætningen DBCC DBREINDEX holdes låsene ikke i lang tid i forbindelse med sætningen DBCC INDEXDEGRAG.

    Du kan finde flere oplysninger om defragmentering af indeks i SQL Server 2000 på følgende Microsoft-websted. Webstedet er evt. på engelsk:
    Bedste fremgangsmåder for defragmentering af indeks i Microsoft SQL Server 2000
    Hvis du skal køre sætningen DBCC DBREINDEX som et job, der er en del af planen for vedligeholdelse af databasen, skal du opdele jobbet i flere jobs. Du skal desuden foretage de regelmæssige sikkerhedskopier til transaktionsloggene mellem udførelsen af jobbene.

Flere oplysninger om transaktionslogge

Hver database i SQL Server 2000 og SQL Server 2005 indeholder mindst én datafil og én transaktionslogfil. På SQL Server gemmes data fysisk i datafilen. I transaktionslogfilen gemmes alle de ændringer, du udfører på SQL Server-databasen og oplysninger om de transaktioner, der udførte hver ændring. Idet transaktionsintegriteten anses for at være et fundamentalt og indre karaktertræk af SQL Server, kan logføring af oplysningerne over transaktionerne ikke slås fra i SQL Server.

Transaktionslogfilen er logisk opdelt i mindre segmenter, der omtales som virtuelle logge. I SQL Server 2000 kan du konfigurere transaktionslogfilen til at udvides efter behov. Udvidelse af transaktionsloggen kan bestemmes af brugeren eller kan konfigureres til at bruge hele den tilgængelige diskplads. Eventuelle ændringer af størrelsen af transaktionslogfilen, som foretages af SQL Server, f.eks. afkortelse af transaktionslogfilen eller øgning af transaktionslogfilen, udføres i enheder med virtuelle logge.

Hvis den transaktionslogfil, der svarer til en SQL Server-database, er fuld, og hvis du har angivet indstillingen for transaktionslogge til at vokse automatisk, vokser transaktionsloggene i enheder med virtuelle logfiler. Nogle gange kan transaktionslogfilen blive meget stor, og du løber måske tør for diskplads. Hvis en transaktionslogfil vokser, indtil den har anvendt hele den tilgængelige diskplads, og den ikke kan udvides mere, kan du ikke længere foretage ændringer af data på databasen. Derudover markerer SQL Server måske databasen som mistænkelig på grund af den manglende plads til udvidelse af transaktionslogge.

Du kan finde flere oplysninger om de scenarier, der kan forårsage, at transaktionsloggene vokser uventet ved at klikke på følgende artikelnummer for at få vist artiklen i Microsoft Knowledge Base. Artiklen er evt. på engelsk:
317375 Transaktionsloggen vokser uventet eller bliver fuld på SQL Server Artiklen er evt. på engelsk.

Referencer

Du kan finde flere oplysninger om, hvordan du foretager fejlfinding af ekstra krav til diskplads under genoprettelsesprocessen i emnet om utilstrækkelig diskplads i SQL Server Books Online. Emnet er evt. på engelsk. Du kan finde følgende oplysninger om transaktionsloggenes arkitektur under følgende emner i SQL Server Books Online. Emnerne er evt. på engelsk:
  • Transaktionsloggenes arkitektur
  • Transaktionsloggenes logiske arkitektur
  • Transaktionsloggenes fysiske arkitektur
Du kan finde flere oplysninger om genoprettelsesmodellerne i SQL Server 2000 under følgende emner i SQL Server Books Online. Emnerne er evt. på engelsk:
  • Valg af genoprettelsesmodel
  • Enkel genoprettelse
  • Komplet genoprettelse
  • Masselogført genoprettelse
  • Ændring af genoprettelsesmodeller

Bemærk! Dette er en artikel til hurtig udgivelse, som er oprettet direkte i Microsofts supportafdeling. Oplysningerne i artiklen præsenteres som de og behandler aktuelle problemer. Fordi artiklen er blevet udgivet hurtigt, kan der forekomme slåfejl, og artiklen kan blive redigeret uden varsel. Se andre forbehold under Vilkår for anvendelse.

Egenskaber

Artikel-id: 873235 - Seneste redigering: 29. februar 2012 - Redigering: 2.0
Oplysningerne i denne artikel gælder:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Nøgleord: 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235

Send feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com