Blog

Purger le fichier de transaction d’une base en AlwaysOn ou en Miroir


Une problématique récurrente est comment purger le fichier de transaction d’une base en AlwaysOn ou en Miroir, dont on ne maîtrise plus la croissance en raison du fait qu’il soit peu sauvegardé, voir pas sauvegardé du tout ? Quand le problème survient, il se pourrait bien que la taille du fichier de transaction dépasse celle des données et/ou que vous ne disposiez pas de l’espace et du temps nécessaire pour le sauvegarder. Une mesure d’urgence consiste à sauvegarder le fichier de transaction (dans le vide, d’où l’emplacement à NUL) jusqu’à ce que le nombre de fichiers journaux virtuels (VLF) actifs soit réduit à néant, donc à 0. Une fois cette opération réalisée,  la réduction du fichier de transaction sera possible. A noter que cette opération peut être plus ou moins longue suivant le nombre d’entrée présentes. Cela étant, c’est potentiellement moins long et moins laborieux que sortir la base du groupe de disponibilité pour la repasser en mode SIMPLE, etc (taille du tuyau insuffisante entre le site principal et le site secondaire et/ou volumétrie de la base importante).

Avant d’en arriver là il serait bon de mettre un plan de sauvegarde adapté qui inclut bien évidement le fichier de transaction ou encore de surveiller sur sa croissante. Bref, n’attendez pas qu’il soit trop tard.

Mais rendons à César ce qui est à César, voir cet excellent article dont je me suis largement inspirée si vous voulez avoir plus de détails sur le fichier de transaction et les VLF :

http://blog.developpez.com/mikedavem/p8044/sql-server-2005/architecture/pourquoi_la_commande_shrinkfile_ne_redui

Auteur

Expert SQL Server - Purger le fichier de transaction d'une base en AlwaysOn ou en Miroir - SQL Server  - avatar_ninja_tete-150x150
Sarah Bessard
Experte SQL Server Prod/Etude avec un bonus sur la BI, les maîtres mots sont : performance, industrialisation, méthodologie & bonne humeur. Besoin d'une expertise SQL Server ? N'hésitez pas à me contacter.

Leave a comment

Your email address will not be published.

error: