web-dev-qa-db-fra.com

Trace de journal de transaction avec copie seulement

J'ai un travail de sauvegarde de la base de données défini pour utiliser la sauvegarde complète avec l'option de copie uniquement à une fois par jour. La copie seulement est activée car de ce que j'ai lu, c'est le seul moyen de sauvegarder une base de données connectée à un groupe de disponibilité. J'ai des sauvegardes de journalisation qui se produisent toutes les 20 minutes en utilisant les mêmes options sur le même AG. Quelle est la meilleure pratique pour tronquer les journaux de transaction après la course de ces sauvegardes. La sauvegarde complète ne tronque pas depuis son utilisation de copie uniquement pour les sauvegardes de journal. Ils grandissent hors de contrôle. Je sais que je peux utiliser DBCC Shrinkfile, mais plus je l'ai lu, plus il semble dangereux. Y a-t-il une autre méthode ou une meilleure pratique?

Tout conseil est apprécié.

6
deadLock

Je serai le premier à admettre que la documentation n'est pas très claire à ce sujet. Ils indiquent que vous devriez décharger vos sauvegardes aux secondaires, mais alors que la plupart des déclarations sont faites dans un sens général, je pense qu'ils veulent vraiment dire, spécifiquement, les sauvegardes de log (et copy_only Sauvegardes, si vous avez besoin de ceux-ci).

Vous devez occasionnellement exécuter des sauvegardes complètes sur l'IMHO principal. Les copy_only La restriction concerne les sauvegardes complètes, pas les sauvegardes de journalisation et ne s'applique que sur le secondaire AFAIK.

Vous ne serez pas en mesure d'utiliser le filtre de retrait contre vos journaux de transaction actuels, car ils sont pleins d'activité qui n'a techniquement pas été sauvegardée. Une fois que vous avez pris un plein (non -copy_only) Sauvegarde sur le primaire, puis laissez une sauvegarde de journal, vous devriez être capable de rétrécir le fichier journal manuellement. Actuellement, vos sauvegardes de journal fonctionnent car la base de données est définie sur FULL, mais elles continuent de croître car (probablement) que vous n'avez jamais exécuté une sauvegarde complète appropriée sur le primaire.

Cela devrait être une opération unique et vous ne devriez pas les réduire trop petit; Vous devez définir votre primaire pour sauvegarder régulièrement et vous devez accueillir le plus grand ensemble d'activités qui se produiront entre les sauvegardes complètes ou en rondins. Je ne participerai pas à la rétrécissement des fichiers seulement afin qu'ils puissent augmenter à nouveau est un exercice futile et garantit une mauvaise performance, mais je pouvais. :-)

5
Aaron Bertrand