none
LogFile: Shrink Vs Truncate RRS feed

  • Domanda

  • Ciao,

    stavo cercando di approfondire l'argomento in oggetto. Sono quindi incappato nel seguente link:

    http://blog.sqlxdetails.com/transaction-log-truncate-why-it-didnt-shrink-my-log/

    che non mi sembra male ma, mi ha creato un po' di confusione. sembra che il truncate metta i vlf attivi ad inattivi (dove può). ed invece lo shrink vada in effetti ad eliminare tutti i vlf possibili a partire dall'ultimo vlt attivo in avanti. quindi se prima ne ho uno, non verrà eliminato dallo shrink.

    inoltre, il checkpoint andava a determinare quale vlf fosse marcabile come riutilizzabile o meno. non il truncate.

    qualcosa mi sfugge, sapreste dirmi dove sto sbagliando gentilmente?

    grazie mille

    V.

    martedì 11 settembre 2018 15:03

Risposte

  • ciao

    il log è usato in modo circolare e al suo interno vi sono i vlf. il log è ingaggiato per registrare tutte le operazioni che possono essere scritte su disco solo dopo essere state committate, altrimenti sono transazioni attive e i vlf ingaggiati da questa transazione devono essere mantenuti per ovvia necessità fino a che non sia chiusa la transazione e scritta su disco (e salvata da backup log se full recovery mod e replicata se è sotto replica)

    il log cresce nel caso una transazione di lunga durata porti a registrare una mole alta di movimentazione di pagine , una volta che la transazione finisce/ e viene backupatto e / o replicato il log rimane della sua dimensione a cui è arrivato.

    è con lo shrink che si restituisce al file system lo spazio. ad esempio se una transazione anomala ha portato un log che è sempre 3 giga , a 5 giga, dopo aver librato il log tramite checkpoint/log backup / replica posso andare a shrinkarlo fino a riportarlo a 3 giga.

    lo shink libera le pagine ridandole al filesystem ma se una pagina è attiva lo shrink non può proseguire oltre.

    spero possa soddisfarti

    giovedì 13 settembre 2018 13:26

Tutte le risposte

  • ciao

    il log è usato in modo circolare e al suo interno vi sono i vlf. il log è ingaggiato per registrare tutte le operazioni che possono essere scritte su disco solo dopo essere state committate, altrimenti sono transazioni attive e i vlf ingaggiati da questa transazione devono essere mantenuti per ovvia necessità fino a che non sia chiusa la transazione e scritta su disco (e salvata da backup log se full recovery mod e replicata se è sotto replica)

    il log cresce nel caso una transazione di lunga durata porti a registrare una mole alta di movimentazione di pagine , una volta che la transazione finisce/ e viene backupatto e / o replicato il log rimane della sua dimensione a cui è arrivato.

    è con lo shrink che si restituisce al file system lo spazio. ad esempio se una transazione anomala ha portato un log che è sempre 3 giga , a 5 giga, dopo aver librato il log tramite checkpoint/log backup / replica posso andare a shrinkarlo fino a riportarlo a 3 giga.

    lo shink libera le pagine ridandole al filesystem ma se una pagina è attiva lo shrink non può proseguire oltre.

    spero possa soddisfarti

    giovedì 13 settembre 2018 13:26
  • grazie per la risposta!
    giovedì 27 settembre 2018 09:40