Töötate praegu ühenduseta, ootame Interneti-ühenduse taasloomist

SQL Serveri andmebaasis täis tehingulogi tühjendamine

SISSEJUHATUS
Täis tehingulogide tõttu ei pruugi Microsoft SQL Serveri andmebaas kasutuskõlblik olla. Selles artiklis kirjeldatakse, kuidas kärpida ja kahandada tehingulogisid, kui need muutuvad liiga suureks. Selles artiklis kirjeldatakse ka, kuidas vältida tehingulogide ootamatut suurenemist.

Lisateave
1. etapp: tehingulogi mahu vähendamine


Kui tehingulogid on täis, tuleb nende suurust vähendada. Selleks kärpige tehingulogis passiivseid tehinguid ja kahandage tehingulogi faili mahtu.

Märkus. Tehingulogid on andmebaasi ülekande terviklikkuse säilitamiseks väga olulised. Ärge kustutage tehingulogi faile isegi pärast andmebaasi ja tehingulogide varundamist. 2. etapp: tehingulogi passiivsete kannete kärpimine


Kui tehingulogid on täis, varundage tehingulogi kohe. Tehingulogi failide varukoopia loomisel kärbib SQL Server automaatselt tehingulogi passiivset osa. Tehingulogi faili passiivne osa sisaldab lõpetatud tehinguid, seega ei kasuta SQL Server seda tehingulogi faili enam taastamisprotsessis. SQL Server taaskasutab tehingulogi kärbitud passiivset ruumi, selle asemel et lubada tehingulogil jätkuvalt suureneda ja rohkem ruumi võtta.

Tehingulogide varundamisel ja tehingulogide varukoopiate taastamisel arvesse võetavate küsimuste kohta lisateabe saamiseks külastage SQL Serveri võrguraamatute järgmisi teemasid:
  • Tehingulogi varundamine
  • Tehingulogi varundamine ja taastamine
Saate tehingulogi failist passiivseid tehinguid kustutada ka kärpimise meetodi abil. Tehingulogide kärpimise kohta lisateabe saamiseks vaadake SQL Serveri võrguraamatute teemat Tehingulogi kärpimine.

NB! Pärast tehingulogi failide käsitsi kärpimist peate looma täieliku andmebaasi varukoopia, enne kui hakkate tehingulogi varukoopiat tegema.

Tehingulogi failide kärpimisel tekkivate probleemide kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
62866 SQL-i tehingulogi kärpimata jäämise põhjused (võib olla inglise keeles)
3. etapp: tehingulogi kahandamine


Varundustoimingu või kärpimismeetodiga ei vähendata logifaili mahtu. Tehingulogi faili mahu vähendamiseks tuleb teil tehingulogi faili kahandada. Tehingulogi faili nõutavasse suurusesse kahandamiseks ja mittekasutatavate lehekülgede eemaldamiseks tuleb teha toiming DBCC SHRINKFILE. DBCC SHRINKFILE Transact-SQL-i lause saab kahandada vaid logifaili passiivset osa.

Märkus. DBCC SHRINKFILE Transact-SQL-i lause ei kärbi logi ega kahanda logifaili kasutatud ruumi ise.

Tehingulogi failide kahandamise kohta lisateabe saamiseks vaadake SQL Serveri võrguraamatute järgmisi teemasid:
  • Tehingulogi kahandamine
  • DBCC SHRINKFILE
Et saada lisateavet SQL Server 2000 tehingulogi failide kahandamise kohta, klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
272318 SQL Server 2000 tehingulogi kahandamine suvandiga DBCC SHRINKFILE (võib olla inglise keeles)
Tehingulogi failide kahandamisel tekkivate probleemide kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artiklite kuvamiseks järgmisi artiklinumbreid:
814574 PRB: tehingulogi faili kahandamisel kuvatakse tõrketeade „Cannot shrink log file ...” (Logifaili ei saa vähendada) (võib olla inglise keeles)
324432 PRB: käsud DBCC SHRINKFILE ja SHRINKDATABASE ei pruugi hõredalt asustatud teksti, n-teksti või pildiveergude tõttu toimida (võib olla inglise keeles)

4. etapp: tehingulogide ootamatu kasvamise vältimine


Tehingulogide ootamatu kasvamise vältimiseks võite kasutada üht järgmistest meetoditest.
  • Määrake tehingulogi failide mahuks suurem väärtus, et vältida nende automaatset suurenemist.
  • Konfigureerige tehingulogi failide automaatset suurenemist mäluüksuste, mitte protsendi abil pärast seda, kui olete optimaalset mälumahtu põhjalikult hinnanud.

    Suvandi autogrow konfigureerimisel arvesse võetavate küsimuste kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
    315512 Suvandite „autogrow” ja „autoshrink” konfiguratsiooni kaalutlused
  • Muutke taastemudelit. Avarii või andmerikke korral peate andmebaasi taastama, et säiliks andmete ühtsus ja andmebaasi ülekande terviklikkus. Vastavalt sellele, kui olulised on andmebaasis olevad andmed, saate kasutada üht järgmistest taastemudelitest määramaks, kuidas andmeid varundatakse ja kui palju andmete kadumisega kokku puutute.
    • Lihtne taastemudel
    • Täielik taastemudel
    • Hulgilogitud taastemudel

    Lihtsa taastemudeliga saate taastada andmebaasi viimase varukoopia. Võite ka taastada andmebaasi täieliku või hulgilogitud taastemudeliga punktis, kus tõrge ilmnes. Selleks taastage andmebaas tehingulogi varukoopiatega.

    SQL Server 2000 ja SQL Server 2005 puhul on SQL Serveri andmebaasi vaiketaastemudeliks määratud täielik taastemudel. Täieliku taastemudeli korral tehakse tehingulogist regulaarselt varukoopiaid, et takistada tehingulogi faili mahul andmebaasi mahuga võrreldes proportsioonist välja minna. Samas, kui tehingulogist ei tehta regulaarselt varukoopiaid, siis tehingulogi fail suureneb ja täidab kogu ketta ning teil ei pruugi olla võimalik SQL Serveri andmebaasis andmeid muuta.

    Kui te ei soovi avariijärgse taaste ajal tehingulogi faile kasutada, võite täieliku taastemudeli lihtsa taastemudeli vastu vahetada.
  • Varundage regulaarselt tehingulogi faile, et kustutada tehingulogist passiivsed tehingud.
  • Looge väikeseid tehinguid.
  • Veenduge, et ükski kehtestamata tehing ei jätkaks tähtajatult toimimist.
  • Ajastage statistika värskendamise suvandit, et see toimiks iga päev.
  • Kasutage tootmiskeskkonnas töökoormuse soodustamise eesmärgil registrite defragmentimiseks DBCC DBREINDEX Transact-SQL-i lause asemel DBCC INDEXDEFRAG Transact-SQL-i lauset. DBCC DBREINDEX-i lause puhul võib tehingulogi märkimisväärselt suureneda, kui SQL Serveri andmebaas on täieliku taaste režiimis. Peale selle ei säilita DBCC INDEXDEGRAG-i lause erinevalt DBCC DBREINDEX-i lausest pikaajalisi tõkesteid.

    SQL Server 2000-s registrite defragmentimise kohta lisateabe saamiseks vaadake järgmist Microsofti veebisaiti:
Lisateave tehingulogide kohta
SQL Server 2000-s ja SQL Server 2005-s sisaldab iga andmebaas vähemalt üht andmefaili ning üht tehingulogi faili. SQL Server salvestab andmed füüsiliselt andmefaili. Tehingulogi fail salvestab kõikide SQL Serveri andmebaasis tehtud muudatuste üksikasjad ja iga muudatuse teinud tehingute üksikasjad. Kuna ülekande terviklikkust peetakse SQL Serveri fundamentaalseks ja sellele omaseks iseloomujooneks, siis ei saa tehingute üksikasjade logimist SQL Serveris välja lülitada.

Tehingulogi fail on jagatud loogiliselt väiksemateks lõikudeks, mida nimetatakse virtuaalseteks logifailideks. SQL Server 2000 võimaldab teil tehingulogi faili nii konfigureerida, et see suureneb vastavalt vajadusele. Tehingulogi suurenemist saab reguleerida kasutaja või seda saab konfigureerida selliselt, et see kasutab kogu olemasolevat kettaruumi. Kõik SQL Serveri tehtud tehingulogi faili mahu muudatused, nagu tehingulogi failide kärpimine või tehingulogi failide suurendamine, viiakse sisse virtuaalsete logifailide üksustes.

Kui SQL Serveri andmebaasile vastav tehingulogi fail on täidetud ja olete määranud tehingulogi failide automaatse suurenemise suvandi, siis tehingulogi fail suureneb virtuaalsete logifailide üksustes. Mõnikord võib tehingulogi fail väga suureks muutuda ja kettaruum võib otsa saada. Kui tehingulogi fail suureneb kuni kogu olemasoleva kettaruumi täitumiseni ning ei saa rohkem suureneda, ei ole teil enam võimalik andmebaasis andmeid muuta. Peale selle võib SQL Server teie andmebaasi tehingulogi suurendamiseks puudu jääva ruumi tõttu kahtlaseks märgistada.

Tehingulogi faili ootamatut suurenemist põhjustavate olukordade kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
317375 Tehingulogi suureneb SQL Serveris ootamatult või saab täis (võib olla inglise keeles)

Lisaressursid
Tehingulogi mahu vähendamise kohta lisateabe saamiseks külastage järgmisi Microsofti veebisaite:


Viited
Taasteprotsessi ajal lisakettaruumi nõude tõrkeotsingu kohta lisateabe saamiseks lugege SQL Serveri võrguraamatute teemat Kettaruumi pole piisavalt. Tehingulogi arhitektuuri kohta lisateabe saamiseks vaadake SQL Serveri võrguraamatute järgmisi teemasid:
  • Tehingulogi arhitektuur
  • Tehingulogi loogiline arhitektuur
  • Tehingulogi füüsiline arhitektuur
SQL Server 2000 taastemudelite kohta lisateabe saamiseks vaadake SQL Serveri võrguraamatute järgmisi teemasid:
  • Taastemudeli valimine
  • Lihtne taaste
  • Täielik taaste
  • Hulgilogitud taaste
  • Taastemudelite vahetamine

TLOG T-log filesize becomes full run out of space fills
Märkus. See artikkel on otse Microsofti tugiorganisatsioonist loodud artikkel „FAST PUBLISH” (Kiiravaldamine). Selles sisalduv teave edastatakse probleemide ilmnemisel olemasoleval kujul. Kiiresti kättesaadavaks muutmise tõttu võib materjalides esineda trükivigu ja neid võidakse mis tahes ajal ette teatamata parandada. Muude asjaolude korral vaadake kasutustingimusi.
Atribuudid

Artikli ID: 873235 – viimati läbi vaadatud: 01/31/2014 21:41:00 – redaktsioon: 2.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer 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
Tagasiside