Nous avons un peu d'historique de sauvegarde ici.

Nous avons un peu d’historique de sauvegarde ici.

SQL Server suit l’historique de chaque sauvegarde. Il stocke ces données dans la base de données MSDB. C’est une base de données système, et par défaut, nos bases de données système sont stockées sur le lecteur C, sauf indication contraire lors de l’installation.

Cela pose un danger de différentes manières:

Le lecteur C peut se remplir, entraînant l’échec des écritures MSDB. Le lecteur système se remplit plus souvent que vous ne le pensez – causé par des utilisateurs négligents téléchargeant d’énormes fichiers sur leur bureau (situé sur le lecteur système) ou par des mises à jour Windows téléchargeant de nombreux fichiers dans un dossier temporaire sur le lecteur système.

MSDB peut se développer pour remplir le lecteur C, provoquant l’échec de Windows. Dans les cas où nous effectuons des sauvegardes très fréquentes du journal des transactions d’un grand nombre de bases de données et que nous ne purgeons jamais MSDB, cette base de données peut devenir suffisamment grande pour menacer les petits lecteurs C. Lorsque le lecteur C se remplit, Windows échoue durement.

Le lecteur système est souvent lent. Dans les anciennes versions de SQL Server, les bases de données système n’étaient pas bien indexées. Combinez cela avec des lecteurs locaux lents, et nous avons une recette pour un accès MSDB lent. Dans un cas, pendant nos fenêtres de sauvegarde nocturnes, les 2/3 du temps ont été consacrés à la mise à jour de MSDB!

Les outils de surveillance peuvent interroger MSDB de manière inefficace. Nous avons vu des cas où des outils de surveillance de serveurs tiers vérifiaient constamment MSDB pour s’assurer que toutes les bases de données étaient sauvegardées, mais que leurs requêtes n’utilisaient pas d’index. Ces requêtes peuvent être la chose la plus lente sur le serveur.

Cette partie de notre script SQL Server sp_Blitz vérifie s’il existe un historique de sauvegarde MSDB de plus de 60 jours. Cela en soi n’est pas un problème – vous voudrez peut–être conserver de longues périodes d’historique de sauvegarde juste pour faire des rapports sur le débit des performances – mais envisagez de déplacer ces données vers Excel ou votre outil de création de rapports préféré plutôt que d’appuyer sur MSDB à chaque fois.

Revenez à sp_Blitz ou Posez-nous des Questions

Comment Nettoyer l’historique de sauvegarde MSDB Surchargé

Envisagez de purger l’historique de sauvegarde MSDB des données de plus de 60 jours. Vous pouvez le faire de différentes manières:

  • Vous pouvez créer un plan de maintenance qui exécute régulièrement la tâche de nettoyage de l’historique.
  • Vous pouvez créer une tâche d’agent SQL Server simple qui exécute sp_delete_backuphistory régulièrement (vous pouvez également l’exécuter sp_purge_jobhistory si vous souhaitez faire correspondre la fonctionnalité du plan de maintenance).

Développez le nœud Plan de maintenance dans SSMS, faites un clic droit et choisissez  » Nouveau Plan de maintenance… »

2015-04-10_14-20-46

Choisissez la tâche de nettoyage de maintenance dans la fenêtre de la Boîte à outils (notez que parfois cette fenêtre est masquée à gauche sous l’Explorateur d’objets dans SSMS:

2015-04-10_14-21-26

Pour terminer, double-cliquez sur la tâche, choisissez le type de nettoyage que vous souhaitez effectuer et la quantité de données que vous souhaitez conserver. Je vais parfois créer deux tâches, car je me soucie moins de l’historique des tâches de l’Agent et de l’historique des plans de maintenance que des sauvegardes, et je veux généralement que mon historique de sauvegarde corresponde à ma politique de conservation des données.

2015-04-10_14-22-03

De toute façon, si votre serveur a une grande quantité d’historique, cette étape prendra beaucoup de temps pour s’exécuter la première fois. Comme Brent l’a noté dans l’article sur le goulot d’étranglement de MSDB, vous devrez peut-être recourir à des mesures extrêmes telles que la modification des clés étrangères de la base de données système pour que les suppressions se produisent.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.