Trenutno nimate vzpostavljene povezave; čakanje, da se internetna povezava znova vzpostavi

Obnavljanje polnega transakcijskega dnevnika v zbirki podatkov strežnika SQL Server

UVOD
Ko so transakcijski dnevniki polni, lahko Microsoft SQL Server postane neuporaben. V članku je opisano, kako prirežete in skrčite transakcijske dnevnike, ko ti postanejo preveliki. V članku je opisano tudi to, kako preprečite nepričakovano povečanje velikosti transakcijskih dnevnikov.

Dodatne informacije
Prvi korak: zmanjšajte velikost transakcijskega dnevnika


Ko so transakcijski dnevniki polni, morate zmanjšati njihovo velikost. To naredite tako, da prirežete neaktivne transakcije v transakcijskem dnevniku in nato skrčite njegovo datoteko.

Opomba Transakcijski dnevniki so zelo pomembni za ohranjanje transakcijske celovitosti zbirke podatkov. Datotek transakcijskih dnevnikov nikoli ne brišite, niti po tem, ko naredite varnostno kopijo zbirke podatkov in transakcijskih dnevnikov. Drugi korak: prirežite neaktivne transakcije v transakcijskem dnevniku


Ko so transakcijski dnevniki polni, takoj varnostno kopirajte njihove datoteke. Med ustvarjanjem varnostne kopije datotek transakcijskih dnevnikov SQL Server samodejno prireže neaktivni del datoteke transakcijskega dnevnika. Neaktivni del datoteke transakcijskega dnevnika vsebuje dokončane transakcije, zato ga SQL Server med postopkom obnovitve več ne uporablja. SQL Server ponovno uporabi ta prirezani in neaktivni prostor transakcijskega dnevnika in tako dnevniku ne dovoli, da bi še naprej rasel in zasedal več prostora.

Za dodatne informacije o stvareh, ki jih morate upoštevati, ko varnostno kopirate transakcijske dnevnike in obnavljate njihove varnostne kopije, si oglejte spodnje teme na spletni strani SQL Server Books Online:
  • Varnostne kopije transakcijskih dnevnikov
  • Varnostno kopiranje in obnovitev transakcijskih dnevnikov
Neaktivne transakcije lahko iz datoteke transakcijskega dnevnika izbrišete tudi z uporabo metode Prirezovanje. Za več informacij o prirezovanju transakcijskih dnevnikov glejte temo »Prirezovanje transakcijskega dnevnika« na spletni strani SQL Server Books Online.

Pomembno Po tem, ko ročno prirežete datoteke transakcijskega dnevnika, morate pred njegovim varnostnim kopiranjem ustvariti celotno varnostno kopijo zbirke podatkov.

Za več informacij o težavah, ki se lahko pojavijo med prirezovanjem datotek transakcijskega dnevnika, kliknite to številko članka iz Microsoftove zbirke znanja:
62866 Razlogi, zakaj ni mogoče prirezati transakcijskega dnevnika SQL
Tretji korak: skrčite datoteko transakcijskega dnevnika


Operacija ustvarjanja varnostne kopije ali metoda Prirezovanje ne zmanjša velikosti dnevniške datoteke. Če želite zmanjšati velikost datoteke transakcijskega dnevnika, jo morate skrčiti. Če želite skrčiti datoteko transakcijskega dnevnika na zahtevano velikost in odstraniti nezasedene strani, morate izvesti operacijo DBCC SHRINKFILE. Izjava DBCC SHRINKFILE Transact-SQL lahko skrči samo neaktivni del v dnevniški datoteki.

Opomba Izjava DBCC SHRINKFILE Transact-SQL sama ne more prirezati dnevnika in skrčiti zasedenega prostora v dnevniški datoteki.

Za dodatne informacije o krčenju datotek transakcijskega dnevnika glejte naslednje teme na spletni strani SQL Server Books Online:
  • Krčenje transakcijskega dnevnika
  • DBCC SHRINKFILE
Če želite več informacij o krčenju datotek transakcijskega dnevnika v strežniku SQL Server 2000, kliknite to številko članka iz Microsoftove zbirke znanja:
272318 Krčenje transakcijskega dnevnika v strežniku SQL Server 2000 z operacijo DBCC SHRINKFILE
Za več informacij o težavah, ki se lahko pojavijo med krčenjem datotek transakcijskega dnevnika, kliknite te številke člankov iz Microsoftove zbirke znanja:
814574 PRB: Sporočilo o napaki: »Dnevniške datoteke ni mogoče skrčiti ...« se pojavi med krčenjem datoteke transakcijskega dnevnika
324432 PRB: Ukaza DBCC SHRINKFILE in SHRINKDATABASE morda ne bosta delovala zaradi redkega besedila, ntexta ali slikovnih stolpcev

Četrti korak: preprečite nepričakovano rast datotek transakcijskega dnevnika


Če želite preprečiti nepričakovano rast datotek transakcijskega dnevnika, razmislite o uporabi ene od teh metod:
  • Nastavite velikost datotek transakcijskih dnevnikov na visoko vrednost in se tako izognite njihovi samodejni razširitvi.
  • Potem ko temeljito ovrednotite optimalno velikost pomnilnika, konfigurirajte samodejno razširitev datotek transakcijskih dnevnikov z uporabo pomnilniških enot namesto odstotka.

    Za več informacij o stvareh, ki jih je treba upoštevati med konfiguracijo možnosti samodejne rasti, kliknite to številko članka iz Microsoftove zbirke znanja:
    315512 Stvari, na katere je treba biti pozoren pri konfiguraciji samodejne rasti in krčenja
  • Spremenite model obnove. V primeru hude napake ali poškodovanih podatkov morate zbirko podatkov varnostno kopirati in tako ohraniti doslednost njenih podatkov in transakcijsko integriteto. Glede na pomembnost podatkov v zbirki podatkov lahko uporabite enega od naslednjih modelov obnove in ugotovite, kako se jih varnostno kopira in koliko ste izpostavljeni njihovi izgubi:
    • Enostavni model obnove
    • Popolni model obnove
    • Model obnove z več dnevniki

    Če želite obnoviti najnovejšo varnostno kopijo zbirke podatkov, lahko to naredite z enostavnim modelom obnovitve. Lahko pa s popolnim modelom obnove ali modelom obnove z več dnevniki obnovite zbirko podatkov na točko, ko se je zgodila napaka. To naredite tako, da zbirko podatkov obnovite iz varnostnih kopij datotek transakcijskega dnevnika.

    Privzeto je v strežnikih SQL Server 2000 in SQL Server 2005 model obnovitve njune zbirke podatkov nastavljen na popolni model obnovitve. Pri popolnem modelu obnovitve se uporablja redno varnostno kopiranje transakcijskih dnevnikov, s čimer preprečite njihovim datotekam, da bi pretirano zrasle glede na velikost zbirke podatkov. Toda če se varnostna kopiranja transakcijskega dnevnika ne izvajajo redno, njegova datoteka zraste in zasede disk in morda ne boste mogli izvajati sprememb podatkov v zbirki podatkov strežnika SQL Server.

    Če med obnovitvijo po hudi napaki ne želite uporabljati datotek transakcijskih dnevnikov, lahko model obnovitve spremenite iz popolnega v enostavnega.
  • Datoteke transakcijskih dnevnikov redno varnostno kopirajte in tako izbrišite neaktivne transakcije v njih.
  • Transakcije naj bodo majhne.
  • Poskrbite, da se ne bodo nedodeljene transakcije še naprej izvajale za nedoločen čas.
  • Možnost statistike posodabljanja nastavite tako, da se bo izvajala dnevno.
  • Za defragmentacijo indeksov in s tem boljše možnosti delovne obremenitve v vašem proizvodnem okolju uporabite izjavo DBCC INDEXDEFRAG Transact-SQL namesto izjave DBCC DBREINDEX Transact-SQL. Če zaženete izjavo DBCC DBREINDEX, ko je podatkovna zbirka strežnika SQL Server nastavljena na način popolne obnove, se lahko transakcijski dnevnik znatno poveča. Poleg tega izjava DBCC INDEXDEGRAG, za razliko od izjave DBCC DBREINDEX, ne more dolgo vzdrževati zapore.

    Za več informacij o defragmentaciji indeksov v strežniku SQL Server 2000 glejte to Microsoftovo spletno mesto:
Več informacij o datotekah transakcijskega dnevnika
V strežnikih SQL Server 2000 in SQL Server 2005 vsaka zbirka podatkov vsebuje vsaj eno podatkovno datoteko in eno datoteko transakcijskega dnevnika. SQL Server shranjuje podatke fizično v podatkovni datoteki. Datoteka transakcijskega dnevnika shrani podrobnosti vseh sprememb, ki jih naredite v podatkovni zbirki strežnika SQL Server, in podrobnosti transakcij, ki so povzročile vsako spremembo. Ker transakcijska integriteta velja za osnovno in bistveno značilnost strežnika SQL Server, beleženja podrobnosti transakcij v tem strežniku ni mogoče izklopiti.

Datoteka transakcijskega dnevnika je logično razdeljena na manjše segmente, ki se imenujejo navidezne dnevniške datoteke. V strežniku SQL Server 2000 lahko konfigurirate datoteko transakcijskega dnevnika tako, da se razširi po potrebi. Razširitev transakcijskega dnevnika lahko nadzoruje uporabnik ali pa se jo konfigurira tako, da uporabi ves nezasedeni prostor na disku. Kakršne koli spremembe velikosti, ki jih naredi SQL Server na datotekah transakcijskega dnevnika, na primer prirezovanje ali povečevanje datotek transakcijskega dnevnika, se izvedejo v enotah navideznih dnevniških datotek.

Če je datoteka transakcijskega dnevnika, ki ustreza podatkovni zbirki strežnika SQL Server, polna in je pri dnevniških datotekah nastavljena možnost, da samodejno rastejo, datoteka transakcijskega dnevnika raste v enotah navideznih dnevniških datotek. Včasih lahko postane dnevniška datoteka zelo velika in morda vam bo zmanjkalo prostora na disku. Ko se to zgodi in se datoteka ne more širiti, v zbirki podatkov ne morete več izvajati sprememb. Poleg tega lahko SQL Server zaradi pomanjkanja prostora za širitev transakcijskega dnevnika zbirko podatkov označi kot sumljivo.

Za več informacij o okoliščinah, ki lahko povzročijo nepričakovano rast datoteke transakcijskega dnevnika, kliknite to številko članka iz Microsoftove zbirke znanja:
317375 Transakcijski dnevnik v strežniku SQL Server nepričakovano raste oz. je poln

Več virov
Če želite več informacij o tem, kako zmanjšate velikost transakcijskega dnevnika, obiščite ta Microsoftova spletna mesta:


Sklici
Za več informacij o reševanju težav v zvezi s pomanjkanjem prostora na disku med obnovo glejte temo "Pomanjkanje prostora na disku" na spletni strani SQL Server Books Online. Za več informacij o arhitekturi transakcijskega dnevnika glejte naslednje teme na spletni strani SQL Server Books Online:
  • Arhitektura transakcijskih dnevnikov
  • Logična arhitektura transakcijskih dnevnikov
  • Fizična arhitektura transakcijskih dnevnikov
Za dodatne informacije o modelih obnove v strežniku SQL Server 2000 glejte te teme na spletni strani SQL Server Books Online:
  • Izbira modela obnove
  • Enostavna obnova
  • Popolna obnova
  • Obnova z več dnevniki
  • Preklapljanje med modeli obnove

TLOG T-log filesize becomes full run out of space fills
Opomba To je članek za »HITRO OBJAVO«, ki je ustvarjen neposredno v Microsoftovi organizaciji za podporo. Informacije v tem članku so na voljo »takšne kot so« in kot odziv na težave. Zaradi hitrosti pri objavljanju članka so v gradivu lahko tipografske napake, ki se jih lahko popravi kadar koli brez obvestila. Za dodatne informacije glejte Pogoje uporabe.
Lastnosti

ID članka: 873235 – Zadnji pregled: 02/26/2014 18:31:00 – Revizija: 2.0

  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
  • kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235
Povratne informacije
ript" src="https://c.microsoft.com/ms.js" '="">