Artikkel-ID: 873235 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

INNLEDNING

Denne artikkelen beskriver fremgangsmåten du må følge når transaksjonsloggene har blitt for store. Fulle transaksjonslogger kan gjøre Microsoft SQL Server-databasen ubrukelig. Denne artikkelen beskriver hvordan du avkorter og reduserer transaksjonsloggene og hvordan du hindrer at transaksjonslogger vokser uventet.

Mer informasjon

Redusere størrelsen på transaksjonsloggen

Du må redusere størrelsen på transaksjonsloggene for å rette opp en situasjon der transaksjonsloggene er fulle. Gjør dette ved å avkorte de inaktive transaksjonene i transaksjonsloggen og redusere transaksjonsloggfilen.

Merk Transaksjonsloggene er svært viktig for å opprettholde transaksjonsintegriteten til databasen. Du må derfor ikke slette transaksjonsloggfilene selv etter du har lagd en sikkerhetskopi av databasen og transaksjonsloggene.


Hvis du vil ha mer informasjon om redusering av størrelsen på transaksjonsloggen, går du til følgende Microsoft-webområde:
Redusere transaksjonsloggen for SQL Server 2000
Redusere transaksjonsloggen for SQL Server 2005

Avkort de inaktive transaksjonene i transaksjonsloggen

Når transaksjonsloggene er fulle, må du umiddelbart sikkerhetskopiere transaksjonsloggfilen. Når sikkerhetskopien av transaksjonsloggfilen opprettes, avkorter SQL Server automatisk den inaktive delen av transaksjonsloggen. Den inaktive delen av transaksjonsloggfilen inneholder de fullstendige transaksjonene og derfor brukes ikke transaksjonsloggfilen lenger av SQL Server under gjenopprettingsprosessen. SQL Server bruker denne avkortede, inaktive plassen i transaksjonsloggen på nytt i stedet for å tillate at transaksjonsloggen fortsetter å vokse og bruke mer plass.

Hvis du vil ha mer informasjon om problemene som du må vurdere når du sikkerhetskopierer transaksjonsloggene, og problemene som du må vurdere når du gjenoppretter sikkerhetskopiene av transaksjonsloggene, går du til følgende emner i SQL Server Books Online:
  • Sikkerhetskopier av transaksjonslogg
  • Sikkerhetskopiering og gjenoppretting av transaksjonslogg
Du kan også slette de inaktive transaksjonene fra en transaksjonsloggfil ved å bruke avkortningsmetoden. For mer informasjon om avkortning av transaksjonslogger kan du se emnet Avkorte transaksjonsloggen i SQL Server Books Online.

Viktig Når du har avkortet transaksjonsloggfilene manuelt, må du opprette en fullstendig sikkerhetskopi av databasen før du oppretter en sikkerhetskopi av transaksjonsloggen.

Hvis du vil ha mer informasjon om problemene som kan oppstå når du avkorter transaksjonsloggfilene, klikker du artikkelnummeret nedenfor for å vise artikkelen i Microsoft Knowledge Base:
62866 Årsaker til hvorfor SQL-transaksjonsloggen ikke avkuttes (Dette kan være på engelsk)

Reduser transaksjonsloggfilen

Sikkerhetskopieringen eller avkortningsmetoden reduserer ikke størrelsen på loggfilen. Hvis du vil gjøre transaksjonsloggfilen mindre, må du redusere transaksjonsloggfilen. Du må bruke metoden DBCC SHRINKFILE for å redusere en transaksjonsloggfil til ønsket størrelse og fjerne de ubrukte sidene. DBCC SHRINKFILE Transact-SQL-setningen kan bare redusere den inaktive delen i loggfilen.

Merk DBCC SHRINKFILE Transact-SQL-setningen kan ikke avkorte loggen og redusere den brukte plassen inne i loggfilen på egen hånd.

Hvis du vil ha mer informasjon om hvordan du reduserer transaksjonsloggfilene, kan du se følgende emner i SQL Server Books Online:
  • Redusere transaksjonsloggen
  • DBCC SHRINKFILE
Hvis du vil ha mer informasjon om hvordan du reduserer transaksjonsloggfilene i SQL Server 2000, klikker du artikkelnummeret nedenfor for å vise artikkelen i Microsoft Knowledge Base:
272318 Redusere transaksjonsloggen i SQL Server 2000 med DBCC SHRINKFILE (Dette kan være på engelsk)
Hvis du vil ha mer informasjon om problemene som kan oppstå når du reduserer transaksjonsloggfilene, klikker du artikkelnumrene nedenfor for å vise artiklene i Microsoft Knowledge Base:
814574 PRB: Feilmelding: "Kan ikke redusere loggfil..." forekommer når du reduserer transaksjonsloggfilen (Dette kan være på engelsk)
324432 PRB: Kommandoene DBCC SHRINKFILE og SHRINKDATABASE fungerer kanskje ikke på grunn av spredt tekst, ntext eller bildekolonner (Dette kan være på engelsk)

Forhindre at transaksjonsloggfilene vokser uventet

Vurder å bruke en av de følgende metodene for å forhindre at transaksjonsloggfilene vokser uventet:
  • Angi en høy verdi for størrelsen på transaksjonsloggfilene for å unngå automatisk utvidelse av transaksjonsloggfilene.
  • Konfigurer den automatiske utvidelsen av transaksjonsloggfilene ved å bruke minneenheter i stedet for en prosentandel etter du nøye har evaluert den optimale minnestørrelsen.

    Hvis du vil ha mer informasjon om problemene som må vurderes når du konfigurerer alternativet autogrow, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
    315512 Vurderinger for konfigurasjonene autogrow og autoshrink (Dette kan være på engelsk)
  • Endre gjenopprettingsmodellen. Hvis en katastrofe eller dataødeleggelse oppstår, må du gjenopprette databasen slik at datakonsekvensen og transaksjonsintegriteten til databasen opprettholdes. Basert på hvor viktige dataene i databasen er, kan du bruke en av de følgende gjenopprettingsmodellene for å avgjøre hvordan dataene sikkerhetskopieres og hvor utsatt du er for datatap:
    • Modellen enkel gjenoppretting
    • Modellen full gjenoppretting
    • Modellen masselogget gjenoppretting
    Når du bruker modellen enkel gjenoppretting, kan du gjenopprette databasen til den siste sikkerhetskopien av databasen. Når du bruker modellene full gjenoppretting eller masselogget gjenoppretting, kan du gjenopprette databasen til punktet der feilen oppsto ved å gjenopprette databasen med sikkerhetskopiene av transaksjonsloggfilen.

    I SQL Server 2000 og SQL Server 2005 er modellen for gjenoppretting for en SQL Server-database som standard angitt til modellen full gjenoppretting. Med modellen full gjenoppretting brukes regelmessige sikkerhetskopier av transaksjonsloggen for å hindre at størrelsen på transaksjonsloggfilen vokser seg for stor sammenlignet med størrelsen på databasen. Hvis det imidlertid ikke utføres regelmessig sikkerhetskopiering av transaksjonsloggen, vokser transaksjonsloggfilen til å fylle disken, og det kan være at du ikke kan utføre dataendringsoperasjoner på SQL Server-databasen.

    Du kan endre gjenopprettingsmodellen fra full til enkel hvis du ikke vil bruke transaksjonsloggfilene under en katastrofegjenopprettingsoperasjon.
  • Sikkerhetskopier transaksjonsloggfilene regelmessig for å slette de inaktive transaksjonene i transaksjonsloggen.
  • Utform transaksjonene slik at de er små.
  • Kontroller at ingen utildelte transaksjoner fortsetter å kjøre i ubestemt tid.
  • Planlegg at alternativet Oppdater statistikk kjører hver dag.
  • Hvis du vil defragmentere indeksene for å bedre arbeidsbelastningsytelsen i produksjonsmiljøet, kan du bruke DBCC INDEXDEFRAG Transact-SQL-setningen i stedet for DBCC DBREINDEX Transact-SQL-setningen. Hvis du kjører DBCC DBREINDEX-setningen, kan transaksjonsloggen utvide seg betraktelig når SQL Server-databasen er i modusen full gjenoppretting. I tillegg holder ikke DBCC INDEXDEGRAG-setningen låsene i lang tid, i motsetning til DBCC DBREINDEX-setningen.

    Hvis du vil ha mer informasjon om defragmentering av indekser i SQL Server 2000, kan du se følgende Microsoft-webområde:
    Beste praksis for indeksdefragmentering for Microsoft SQL Server 2000
    Hvis du må kjøre DBCC DBREINDEX-setningen som en jobb som er en del av vedlikeholdsplanen for databasen, må du dele opp jobben i flere jobber. I tillegg må du ta hyppige sikkerhetskopiering for transaksjonsloggene mellom kjøring av jobbene.

Mer informasjon om transaksjonsloggfiler

I SQL Server 2000 og SQL Server 2005 inneholder hver database minst én datafil og én transaksjonsloggfil. SQL Server lagrer dataene fysisk i datafilen. Transaksjonsloggfilen lagrer informasjonen om alle endringene som du utfører på SQL Server-databasen, og informasjonen om transaksjonene som utførte hver endring. Fordi transaksjonsintegriteten anses som en grunnleggende og innebygd karakteristikk for SQL Server, kan ikke loggføring av informasjonen om transaksjonene slås av i SQL Server.

Transaksjonsloggfilen er logisk inndelt i mindre segmenter som kalles virtuelle loggfiler. I SQL Server 2000 kan du konfigurere transaksjonsloggfilen til å utvide seg etter behov. Utvidingen av transaksjonsloggen kan styres av brukeren eller kan konfigureres til å bruke all den tilgjengelige diskplassen. Alle endringer som SQL Server gjør i størrelsen på transaksjonsloggfilen, som krymping eller øking av transaksjonsloggfiler, utføres i enheter av virtuelle loggfiler.

Hvis transaksjonsloggfilen som svarer til en SQL Server-database, er full og hvis du har angitt alternativet for transaksjonsloggfiler å vokse automatisk, vokser transaksjonsloggfilen i enheter av virtuelle loggfiler. Noen ganger kan transaksjonsloggfilen bli svært stor, og du kan gå tom for diskplass. Når en transaksjonsloggfil vokser til loggfilen har brukt opp all den tilgjengelige diskplassen og ikke kan utvide seg mer, kan du ikke lenger utføre dataendringsoperasjoner på databasen. I tillegg kan SQL Server merke databasen som mistenkelig på grunn av manglende plass for transaksjonsloggutvidelse.

Hvis du vil ha mer informasjon om scenariene som kan gjøre at transaksjonsloggfilen vokser uventet, klikker du artikkelnummeret nedenfor for å vise artikkelen i Microsoft Knowledge Base:
317375 Transaksjonslogg vokser uventet eller blir full på SQL Server (Dette kan være på engelsk)

Referanser

Hvis du vil ha mer informasjon om feilsøking av kravet om ekstra diskplass under gjenopprettingsprosessen, kan du se emnet Ikke nok diskplass i SQL Server Books Online. Hvis du vil ha mer informasjon om transaksjonsloggarkitekturen, kan du se følgende emner i SQL Server Books Online:
  • Transaksjonsloggarkitektur
  • Transaksjonsloggens logiske arkitektur
  • Transaksjonsloggens fysiske arkitektur
Hvis du vil ha mer informasjon om gjenopprettingsmodellene i SQL Server 2000, kan du se følgende emner i SQL Server Books Online:
  • Velge en gjenopprettingsmodell
  • Enkel gjenoppretting
  • Full gjenoppretting
  • Masselogget gjenoppretting
  • Bytte gjenopprettingsmodeller

Obs! Dette er en "FAST PUBLISH"-artikkel som er opprettet direkte innenfor Microsofts kundestøtteorganisasjon. Informasjonen her leveres "som den er" som svar på problemer som kan oppstå. Som et resultat av den korte tiden det tar å gjøre materialet tilgjengelig, kan det inneholde skrivefeil, og det kan når som helst og uten forvarsel bli revidert. Se Vilkår for bruk for mer informasjon.

Egenskaper

Artikkel-ID: 873235 - Forrige gjennomgang: 29. februar 2012 - Gjennomgang: 2.0
Informasjonen i denne artikkelen gjelder:
  • 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økkelord: 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235

Gi tilbakemelding

 

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