В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Obnovenie plného denníka transakcií v databáze servera SQL Server

ÚVOD
V dôsledku plných denníkov transakcií môže byť databáza servera Microsoft SQL Server nepoužiteľná. V tomto článku sa popisuje postup pri skrátení a zmenšení denníkov transakcií, ktoré sú príliš veľké. V článku sa popisuje aj postup na zabránenie neočakávanému zväčšovaniu denníkov transakcií.

Ďalšie informácie
Krok 1: Zmenšenie denníka transakcií


Ak sú denníky transakcií plné, musíte ich zmenšiť. Pri vykonávaní tejto úlohy je potrebné odstrániť neaktívne transakcie z denníka transakcií a zmenšiť jeho súbor.

Poznámka: Denníky transakcií sú veľmi dôležité na zachovanie integrity transakcií databázy. Súbory denníkov transakcií preto neodstraňujte, a to ani v prípade, ak ste vytvorili zálohu databázy a denníkov transakcií. Krok 2: Odstránenie neaktívnych transakcií z denníka transakcií


Keď sú denníky transakcií plné, okamžite zálohujte súbor denníka transakcií. Počas vytvárania zálohy súborov denníka transakcií server SQL Server automaticky odstraňuje neaktívnu časť súboru denníka transakcií. Táto neaktívna časť súboru denníka transakcií obsahuje dokončené transakcie, a preto ho server SQL Server nepoužíva počas procesu obnovenia. Server SQL Server opätovne využíva tento skrátený neaktívny priestor v denníku transakcií namiesto toho, aby umožnil ďalšie zväčšovanie a využívania väčšieho priestoru denníkom transakcií.

Ďalšie informácie o problémoch, ktoré je potrebné zohľadniť pri zálohovaní denníkov transakcií a pri obnovovaní ich záloh, získate v nasledujúcich témach na lokalite SQL Server Books Online:
  • Zálohy denníkov transakcií
  • Zálohovanie a obnovenie denníkov transakcií
Neaktívne transakcie možno z denníka transakcií odstrániť aj pomocou metódy Truncate. Ďalšie informácie o skrátení denníkov transakcií získate v téme Truncating the transaction log (Skrátenie denníka transakcií) na lokalite SQL Server Books Online.

Dôležité upozornenie: Keď manuálne skrátite súbory denníka transakcií, pred vytvorením zálohy denníka transakcií je potrebné vytvoriť úplnú zálohu databázy.

Ďalšie informácie o problémoch, ktoré sa môžu vyskytnúť pri skracovaní súborov denníka transakcií, získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
62866 Príčiny neskrátenia denníka transakcií SQL
Krok 3: Zmenšenie súboru denníka transakcií


Operácia zálohovania ani metóda Truncate nezmenšujú veľkosť súboru denníka. Ak chcete zmenšiť veľkosť súboru denníka transakcií, musíte ho zmenšiť. Ak chcete zmenšiť súbor denníka transakcií na požadovanú veľkosť a odstrániť nepoužívané stránky, musíte použiť operáciu DBCC SHRINKFILE. Príkaz DBCC SHRINKFILE Transact-SQL umožňuje len zmenšenie neaktívnej časti súboru denníka.

Poznámka: Samotný príkaz DBCC SHRINKFILE Transact-SQL neumožňuje skrátenie denníka a zmenšenie využitého priestoru v súbore denníka.

Ďalšie informácie o zmenšovaní súborov denníkov transakcií získate v nasledujúcich témach na lokalite SQL Server Books Online:
  • Zmenšenie denníka transakcií
  • DBCC SHRINKFILE
Ďalšie informácie o zmenšovaní súborov denníkov transakcií v aplikácii SQL Server 2000 získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
272318 Zmenšenie denníka transakcií v aplikácii SQL Server 2000 pomocou operácie DBCC SHRINKFILE
Ďalšie informácie o problémoch, ktoré sa môžu vyskytnúť pri zmenšovaní súborov denníka transakcií, získate po kliknutí na nasledujúce čísla článkov publikovaných v databáze Microsoft Knowledge Base:
814574 PRB: Chybové hlásenie: „Cannot shrink log file...“ (Súbor denníka sa nedá zmenšiť) pri zmenšovaní súboru denníka transakcií
324432 PRB: Príkazy DBCC SHRINKFILE a SHRINKDATABASE nemusia fungovať z dôvodu riedko vyplneného textu, údajov ntext alebo stĺpcov obrázkov

Krok 4: Zabránenie neočakávanému zväčšovaniu súborov denníkov transakcií


Ak chcete zabrániť neočakávanému zväčšovaniu súborov denníkov transakcií, zvážte použitie jedného z nasledujúcich postupov:
  • Nastavte veľkosť súborov denníkov transakcií na veľkú hodnotu, aby sa zabránilo ich automatickému rozširovaniu.
  • Po dôkladnom vyhodnotení optimálnej veľkosti pamäte nakonfigurujte automatické rozširovanie súborov denníkov transakcií použitím jednotiek pamäte namiesto percentuálnych hodnôt.

    Ďalšie informácie o problémoch, ktoré je potrebné zohľadniť pri konfigurovaní možnosti automatického zväčšovania, získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
    315512 Dôležité informácie o konfigurovaní automatického zväčšovania a zmenšovania
  • Zmeňte model obnovenia. V prípade poruchy alebo poškodenia údajov je potrebné obnoviť databázu, aby sa zachovala konzistentnosť údajov a integrita transakcií databázy. Na základe úrovne dôležitosti údajov v databáze môžete použiť jeden z nasledujúcich modelov obnovenia, aby ste určili spôsob zálohovania údajov a mieru rizika straty údajov:
    • Model jednoduchého obnovenia
    • Model úplného obnovenia
    • Model obnovenia s hromadným zapisovaním

    Pomocou modelu jednoduchého obnovenia môžete obnoviť najnovšiu zálohu databázy. Pomocou modelu úplného obnovenia alebo obnovenia s hromadným zapisovaním môžete databázu obnoviť do bodu, v ktorom došlo k zlyhaniu, a to prostredníctvom obnovenia databázy pomocou záloh súborov denníkov transakcií.

    Model obnovenia databázy servera SQL Server je v aplikáciách SQL Server 2000 a SQL Server 2005 predvolene nastavený na model úplného obnovenia. Pri používaní tohto modelu sa pomocou pravidelných záloh denníka transakcií zabraňuje zväčšovaniu veľkosti súboru denníka transakcií nad veľkosť databázy. Ak sa však nevytvárajú pravidelné zálohy denníka transakcií, súbor denníka transakcií sa zväčšuje a zapĺňa disk a v databáze servera SQL Server nemusí byť možné vykonávať žiadne operácie úpravy údajov.

    Model obnovenia môžete zmeniť z úplného na jednoduchý, ak počas operácie obnovenia po zlyhaní nechcete používať súbory denníka transakcií.
  • Pravidelným zálohovaním súborov denníka transakcií odstraňujte z denníka transakcií neaktívne transakcie.
  • Navrhnite transakcie tak, aby boli malé.
  • Uistite sa, že žiadne nepotvrdené transakcie nezostávajú spustené neobmedzenú dobu.
  • Naplánujte možnosť aktualizácie štatistických údajov tak, aby sa vykonávala každý deň.
  • Ak chcete defragmentovať indexy a využiť tak vo svojom produkčnom prostredí možnosti rozloženia zaťaženia, namiesto príkazu DBCC DBREINDEX Transact-SQL používajte príkaz DBCC INDEXDEFRAG Transact-SQL. Ak použijete príkaz DBCC DBREINDEX a databáza servera SQL Server sa nachádza v režime úplného obnovenia, denník transakcií sa môže výrazne zväčšiť. Príkaz DBCC INDEXDEGRAG okrem toho neuzamyká údaje na dlhšiu dobu, ako to robí príkaz DBCC DBREINDEX.

    Ďalšie informácie o defragmentovaní indexov v aplikácii SQL Server 2000 získate na nasledujúcej webovej lokalite spoločnosti Microsoft:
Ďalšie informácie o súboroch denníkov transakcií
V aplikáciách SQL Server 2000 a SQL Server 2005 obsahuje každá databáza najmenej jeden údajový súbor a jeden súbor denníka transakcií. Server SQL Server fyzicky ukladá údaje do údajového súboru. V súbore denníka transakcií sa ukladajú podrobné informácie o všetkých úpravách vykonaných v databáze servera SQL Server a o transakciách, ktoré vykonali jednotlivé úpravy. Keďže integrita transakcií sa považuje za základnú a neodmysliteľnú vlastnosť servera SQL Server, nedá sa na ňom vypnúť zapisovanie podrobností o transakciách do denníkov.

Súbor denníka transakcií je logicky rozdelený na menšie segmenty, ktoré sa označujú ako virtuálne súbory denníka. V aplikácii SQL Server 2000 možno nakonfigurovať rozširovanie súboru denníka transakcií podľa potreby. Rozširovanie denníka transakcií môže riadiť používateľ, alebo ho možno nakonfigurovať tak, aby súbor využíval celé voľné miesto na disku. Všetky úpravy, ktoré server SQL server vykonáva vo veľkosti súboru denníka transakcií, ako je napríklad skrátenie alebo zväčšenie súborov denníka transakcií, sa vykonávajú v jednotkách virtuálnych súborov denníka.

Ak sa zaplní súbor denníka transakcií, ktorý zodpovedá databáze servera SQL Servera, a nastavili ste možnosť automatického zväčšovania súborov denníkov transakcií, súbor denníka transakcií sa zväčšuje v jednotkách virtuálnych súborov denníka. V určitých prípadoch sa môže súbor denníka transakcií extrémne zväčšiť a môže zabrať všetok priestor na disku. Keď sa súbor denníka transakcií zväčší tak, že zaberie všetko voľné miesto na disku, takže sa už nemôže ďalej rozširovať, v databáze nie je možné vykonávať žiadne operácie úpravy údajov. Server SQL Server môže tiež označiť databázu ako podozrivú, pretože neexistuje dostatok miesta na rozšírenie denníka transakcií.

Ďalšie informácie o situáciách, v ktorých sa môže súbor denníka transakcií neočakávane zväčšovať, získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
317375 Denník transakcií na serveri SQL Server sa neočakávane zväčšuje alebo zapĺňa

Ďalšie zdroje informácií
Ďalšie informácie o zmenšení veľkosti denníkov transakcií získate na nasledujúcich webových lokalitách spoločnosti Microsoft:


Odkazy
Ďalšie informácie o riešení problémov súvisiacich s požiadavkou na ďalšie miesto na disku počas procesu obnovenia získate v téme Insufficient disk space (Nedostatok miesta na disku) na lokalite SQL Server Books Online. Ďalšie informácie o architektúre denníkov transakcií získate v nasledujúcich témach na lokalite SQL Server Books Online:
  • Architektúra denníkov transakcií
  • Logická architektúra denníkov transakcií
  • Fyzická architektúra denníkov transakcií
Ďalšie informácie o modeloch obnovenia v aplikácii SQL Server 2000 získate v nasledujúcich témach na lokalite SQL Server Books Online:
  • Výber modelu obnovenia
  • Jednoduché obnovenie
  • Úplné obnovenie
  • Obnovenie s hromadným zapisovaním
  • Prepínanie modelov obnovenia

TLOG T-log filesize becomes full run out of space fills
Poznámka: Toto je článok typu FAST PUBLISH, ktorý bol vytvorený priamo v organizácii technickej podpory spoločnosti Microsoft. Informácie uvedené v tomto článku sa poskytujú „tak, ako sú“ v reakcii na naliehavé problémy. V dôsledku rýchlosti, akou boli tieto materiály sprístupnené, môžu obsahovať typografické chyby a môžu byť kedykoľvek revidované bez predchádzajúceho upozornenia. Informácie o ďalších skutočnostiach, ktoré je potrebné zohľadniť, získate na stránke Podmienky používania.
Свойства

Номер статьи: 873235 — последний просмотр: 02/26/2014 18:31:00 — редакция: 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
Отзывы и предложения