[SQL] Mais où est passé BACKUP LOG WITH TRUNCATE ONLY?

Question très intéressante s’il en est. Ce statement est déprécié sous 2008, où on vous conseille un changement de mode de recovery.

Rappelons l’idée de ce statement encore présent en 2005 et unaniment considéré comme sale ou plutôt comme pas vraiment cohérent.

Dans le cas de grosses transaction en recovery full, il est tout à fait possible que votre log devienne rapidement énorme – ah le LOG_REUSE_WAIT_DESC en BACKUP LOG dans sys.databases – ou que votre disque sature, tout bêtement… On va donc exécuter une sauvegarde de log en mode suppression. Cette « sauvegarde » du log va libérer de la place, ce qui permet d’éxécuter un SHRINKFILE sur le fichier de log pour diminuer sa taille.

Il était donc possible de faire comme cela:

  • Marquer l’espace des transaction commitées comme supprimable du journal de transaction:

BACKUP LOG WITH TRUNCATE_ONLY
GO

  • Puis faire shrink de l’espace ainsi libéré:

DBCC SHRINKFILE(N’_Log, 200)
GO

Alors si vous voulez vraiment faire ça en 2008, une seule solution: switchez votre base en Simple puis en Full et exécutez le SHRINK: cette transition va poser un Checkpoint en mode de recovery Simple, ce qui entraine une troncation du log, soit le même effet que les modifiers NOLOG/TRUNCATE ONLY.

MAIS

Il est dans ce cas plus que conseillé de courir chez S*rcouf s’acheter un disque dur pour mettre en place de vraies stratégies de backup du log. Si ce log vous importe peu , alors posez vous la question de la pertinence du mode de recovery choisi.

  • a-t-on besoin du Full ?
  • est ce qu’un restaure du dernier backup différentiel/full ne suffirait pas (mode de recovery simple) ?

Voila en espérant avoir été clair.

A bientôt!

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s