Trenutno ste van mreže; čekamo da se ponovo povežete na internet

Osposobite računar od pune evidencije transakcija u SQL Server bazi podataka

UVOD
Ako su evidencije transakcije pune, Microsoft SQL Server baza podataka postaje neupotrebljiva. Ovaj članak opisuje kako da skratite ili smanjite evidencije transakcija ako postanu prevelike. Ovaj članak takođe opisuje kako možete da sprečite neočekivan rast evidencija transakcija.

Dodatne informacije
Prvi korak: Smanjivanje veličine evidencija transakcija


Kada su evidencije transakcija pune, morate da smanjite njihovu veličinu. Da biste to postigli morate da skratite neaktivne transakcije u evidenciji transakcija i da zatim smanjite datoteku evidencije transakcija.

Napomena Evidencije transakcija su veoma važne za održavanje integriteta transakcija u bazi podataka. Ne smete da izbrišete datoteke evidencije transakcija čak i nakon što napravite rezervnu kopiju baze podataka i evidencija transakcija. Drugi korak: Skraćivanje neaktivnih transakcija u evidenciji transakcija


Kada su evidencije transakcija pune, odmah napravite rezervnu kopiju datoteke evidencije transakcija. Dok se rezervna kopija datoteka evidencije transakcija kreira, SQL Server automatski skraćuje neaktivni deo datoteke evidencije transakcija. Neaktivni deo datoteke evidencije transakcija sadrži dovršene transakcije, pa se zato datoteka evidencije transakcija više ne koristi u sistemu SQL Server tokom procesa oporavka. SQL Server ponovo koristi ovaj skraćeni, neaktivni prostor u evidenciji transakcija i ne dozvoljava joj da nastavi da se uvećava i zauzima više prostora.

Više informacija o problemima koje morate da uzmete u obzir kada pravite rezervne kopije evidencija transakcija i kada oporavljate rezervne kopije evidencija transakcija potražite u sledećim temama u knjigama za SQL Server na mreži:
  • Pravljenje rezervne kopije evidencije transakcije
  • Pravljenje rezervne kopije i oporavak evidencije transakcije
Možete i da izbrišete neaktivne transakcije iz datoteke evidencije transakcije pomoću metoda Skraćivanje. Više informacija o skraćivanju evidencija transakcija potražite u temi „Skraćivanje evidencije transakcije“ u knjigama za SQL Server na mreži.

Važno Kada ručno skratite datoteke evidencije transakcija, morate da kreirate rezervnu kopiju kompletne baze podataka pre nego što kreirate rezervnu kopiju evidencije transakcija.

Više informacija o problemima do kojih može da dođe kada skratite datoteke evidencije transakcija dobićete ako kliknete na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
62866 Razlozi zašto SQL evidencija transakcije nije skraćena
Treći korak: Smanjivanje datoteke evidencije transakcija


Operacija pravljenja rezervne kopije ili metod Skraćivanje ne smanjuje veličinu datoteke evidencije. Da biste smanjili veličinu datoteke evidencije transakcije, morate da skratite datoteku evidencije transakcije. Da biste smanjili datoteku evidencije transakcije na zahtevanu veličinu i da biste uklonili nekorišćene stranice, morate da koristite operaciju DBCC SHRINKFILE. Instrukcija DBCC SHRINKFILE Transact-SQL može samo da smanji neaktivni deo datoteke evidencije.

Napomena Instrukcija SHRINKFILE Transact-SQL ne može sama da skrati evidenciju i smanji iskorišćeni prostor datoteke evidencije.

Više informacija o smanjivanju datoteka evidencije transakcija potražite u sledećim temama u knjigama za SQL Server na mreži:
  • Smanjivanje evidencije transakcije
  • DBCC SHRINKFILE
Za dodatne informacije o načinu smanjivanja datoteka evidencije transakcija u sistemu SQL Server 2000 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
272318 Smanjivanje evidencije transakcija u sistemu SQL Server 2000 pomoću instrukcije „DBCC SHRINKFILE“
Dodatne informacije o problemima do kojih može da dođe kada smanjite datoteke evidencije transakcija dobićete ako kliknete na sledeće brojeve članaka i pregledate te članke u Microsoft bazi znanja:
814574 PRB: Poruka o grešci: „Nije moguće smanjiti datoteku evidencije...“ prikazuje se kada smanjujete datoteku evidencije transakcije
324432 PRB: Komande DBCC SHRINKFILE i SHRINKDATABASE možda ne rade zbog retko popunjenog teksta, nteksta ili slikovnih kolona

Četvrti korak: Sprečavanje neočekivanog rasta datoteka evidencije


Da biste sprečili neočekivano uvećavanje datoteka evidencije transakcija, razmotrite neki od sledećih metoda:
  • Postavite veličinu datoteka evidencije transakcije na veliku vrednost da biste izbegli njihovo automatsko proširivanje.
  • Konfigurišite proširenje datoteka evidencije transakcije pomoću jedinica memorije umesto procenta nakon što temeljno procenite optimalnu veličinu memorije.

    Za više informacija o problemima koje treba razmotriti pri konfigurisanju opcije automatskog uvećavanja kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
    315512 Stavke koje treba razmotriti u vezi sa konfiguracijom automatskog uvećavanja i automatskog smanjivanja
  • Promenite model oporavka. Ako dođe do ozbiljnog otkazivanja ili oštećenja podataka, morate da oporavite bazu podataka tako da usaglašenost podataka i integritet transakcija baze podataka budu održani. U zavisnosti od toga koliko su podaci u bazi podataka ključni, možete da koristite neki od sledećih modela oporavka da biste odredili na koji način je napravljena rezervna kopija podataka i na koji način ste izloženi gubitku podataka:
    • Model jednostavnog oporavka
    • Model potpunog oporavka
    • Model oporavka grupne evidencije

    Pomoću modela jednostavnog oporavka možete da oporavite bazu podataka vraćanjem najnovije rezervne kopije baze podataka. Takođe možete da upotrebite model potpunog oporavka ili model oporavka grupne evidencije da biste oporavili bazu podatka vraćanjem iste do tačke kada je došlo go greške. Da biste to uradili, vratite bazu podataka u prethodno stanje putem rezervnih kopija datoteke evidencije transakcija.

    Podrazumevano, u sistemima SQL Server 2000 i SQL Server 2005 model oporavka za SQL Server bazu podataka je postavljen na model potpunog oporavka. Sa modelom potpunog oporavka redovno pravljenje rezervnih kopija evidencije transakcije sprečava da veličina datoteke evidencije transakcije premaši veličinu baze podataka. Međutim, ako rezervne kopije evidencije transakcije ne pravite redovno, datoteka evidencije transakcije uvećaće se do te mere da će popuniti disk, pa nećete moći da obavljate operacije izmene podataka u SQL Server bazi podataka.

    Možete da promenite model oporavka od potpunog do jednostavnog ako ne želite da koristite datoteke evidencije transakcije tokom operacije oporavka u slučaju ozbiljnog otkazivanja.
  • Redovno pravite rezervne kopije datoteka evidencije transakcije da biste izbrisali neaktivne transakcije u evidenciji transakcije.
  • Dizajnirajte transakcije da budu male.
  • Uverite se da neposvećene transakcije ne nastavljaju da rade neograničeno vreme.
  • Napravite raspored opcije „Ažuriranje statistike“ tako da se obavlja svakodnevno.
  • Da biste defragmentirali indekse tako da koriste prednosti performansi radnog opterećenja u okruženju proizvodnje, koristite DBCC INDEXDEFRAG Transact-SQL instrukciju umesto DBCC DBREINDEX Transact-SQL instrukcije. Ako pokrenete DBCC DBREINDEX instrukciju, evidencija transakcije može značajno da se proširi ako je SQL Server baza podataka u režimu potpunog oporavka. Pored toga, DBCC INDEXDEFRAG instrukcija ne omogućava zaključavanje tokom dužeg vremena, za razliku od DBCC DBREINDEX instrukcije.

    Više informacija o defragmentiranju indeksa u sistemu SQL Server 2000 potražite na sledećoj Microsoft veb lokaciji:
Više informacija o datotekama evidencije transakcija
U sistemima SQL Server 2000 i SQL Server 2005 svaka baza podataka sadrži najmanje jednu datoteku podataka i jednu datoteku evidencije transakcija. SQL Server čuva podatke fizički u datoteci podataka. Datoteka evidencije transakcije čuva detalje svih izmena koje obavljate u SQL Server bazi podataka, kao i detalje o transakcijama koje su obavile svaku izmenu. S obzirom da se integritet transakcija smatra osnovnom i svojstvenom karakteristikom sistema SQL Server, evidentiranje detalja transakcija nije moguće isključiti u sistemu SQL Server.

Datoteka evidencije transakcije je logično podeljena u manje segmente koji se nazivaju virtualne datoteke evidencije. U sistemu SQL Server 2000 možete da konfigurišete datoteku evidencije transakcije tako da se proširi po potrebi. Proširenjem evidencije transakcije možete da upravlja korisnik ili može da se konfiguriše tako da koristi sav dostupan prostor na disku. Sve izmene koje SQL Server unosi u veličinu datoteke evidencije transakcije, kao što je skraćivanje datoteka evidencije transakcije ili njihovo uvećavanje, obavljaju se u jedinicama virtualnih datoteka evidencije.

Ako je datoteka evidencije transakcije koja odgovara SQL Server bazi podataka puna i ako ste postavili opciju za datoteke evidencije transakcije na automatsko uvećavanje, datoteka evidencije transakcije se uvećava u jedinicama virtualnih datoteka evidencije. Ponekad, datoteka evidencije transakcije može da postane veoma velika i može da vam ponestane prostora na disku. Kada se datoteka evidencije transakcije uvećava toliko da zauzme sav prostor dostupan na disku i ne može više da se uvećava, ne možete više da obavljate operacije izmene podataka u bazi podataka. Takođe, SQL Server može da obeleži bazu podataka kao sumnjivu zbog nedostatka prostora za proširenje evidencije transakcija.

Više informacija o scenarijima koji mogu da uzrokuju neočekivano uvećavanje datoteke evidencije transakcija dobićete ako kliknete na sledeći broj članka i pregledate taj članak u Microsoft bazi znanja:
317375 Evidencija transakcije se neočekivano uvećava ili postaje puna u sistemu SQL Server

Dodatni resursi
Više informacija o smanjivanju veličine evidencije transakcija potražite na sledećoj Microsoft veb lokaciji:


Reference
Više informacija o rešavanju problema sa zahtevom za dodatni prostor na disku tokom procesa oporavka potražite u temi „Nedovoljno prostora na disku“ u knjigama za SQL Server na mreži. Više informacija o arhitekturi evidencije transakcija potražite u sledećim temama u knjigama za SQL Server na mreži:
  • Arhitektura evidencije transakcije
  • Logička arhitektura evidencije transakcije
  • Fizička arhitektura evidencije transakcija
Više informacija o modelima oporavka u sistemu SQL Server 2000 potražite u sledećim temama u knjigama za SQL Server na mreži:
  • Biranje modela oporavka
  • Jednostavan oporavak
  • Potpuni oporavak
  • Oporavak grupne evidencije
  • Menjanje modela oporavka

TLOG T-log filesize becomes full run out of space fills
Napomena Ovo je „FAST PUBLISH“ članak koji je kreiran direktno unutar organizacije za podršku korporacije Microsoft. Ovde navedene informacije pružaju se u viđenom stanju, kao odgovor na hitne probleme. Kao rezultat brzine kojom se objavljuju, materijali mogu da sadrže tipografske greške i u bilo kojem trenutku mogu da budu revidirani. Pogledajte uslove korišćenja da biste saznali više.
Svojstva

ID članka: 873235 - Poslednji pregled: 02/26/2014 18:31:00 - Verzija: 2.0

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

  • kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235
Povratne informacije