Tout d'abord, je dois admettre que je lutte avec le concept de journal des transactions. Je veux dire - je comprends que c'est le journal de toutes les transactions qui se produisent sur la base de données, mais quand il s'agit de le mettre correctement en contexte dans une tâche, il me manque évidemment quelque chose. Donc, à tous ceux qui répondront à la question - n'hésitez pas à développer la théorie derrière le journal des transactions.
La question principale est - J'ai SQL Server 2008 et une base de données de 2 Go dont j'ai besoin en miroir (a 12 Go de journal des transactions). Si je ne mettais pas en miroir cette base de données, je suppose que je pourrais passer en mode simple ou tronquer le journal après la sauvegarde. Mais dans ce cas - que dois-je faire si je souhaite garder ce journal des transactions sous contrôle? Si je comprends bien - je dois conserver tout le journal des transactions si je souhaite pouvoir facilement mettre en miroir la base de données (il suffit de faire une sauvegarde complète).
Y a-t-il un moyen de contourner cela? Idéalement, je souhaite qu'il soit possible de faire une sauvegarde qui conserve à la fois MDF et LDF dans un fichier à chaque fois et une fois la sauvegarde effectuée Le journal des transactions (LDF) sur la base de données est réduit à 0. Le problème avec ce scénario sont les sauvegardes incrémentielles - si ma première sauvegarde journal tronqué, je suppose que la deuxième sauvegarde devra faire référence à la première si je veux faire une mise en miroir plus tard (c'est-à-dire que je serais coincé à garder un tas de fichiers au lieu d'un seul).
Alors - quelqu'un peut-il m'éclairer à ce sujet? Je comprends que j'essaie de combler de nombreux trous ici et que mes "solutions" proposées ne sont peut-être pas les meilleures, mais j'apprécierais sincèrement si quelqu'un peut me pousser dans la bonne direction sur les journaux de transactions, comment elles affectent la mise en miroir et mieux pratiques avec ces deux.
la source
Afin de profiter de la mise en miroir, vous devez avoir la base de données en mode de récupération complète et devrez effectuer des sauvegardes du journal des transactions afin d'empêcher la croissance du fichier journal. Si vous n'avez pas besoin des sauvegardes de journaux, purgez-les simplement après x heures avec un plan de maintenance, mais elles doivent être prises.
Pour nettoyer l'environnement, vous devez supprimer la mise en miroir, basculer le mode de récupération sur simple, réduire la taille du fichier journal via le Paul Randal Way recommandé , revenir en mode de récupération complète, configurer des sauvegardes complètes et des journaux, puis réinitialiser votre miroir. Vous pouvez essayer de réduire la taille du journal pendant que la mise en miroir est en place, mais il sera beaucoup plus facile de la supprimer en premier. 1 Go ne devrait pas être trop mauvais pour réinitialiser une base de données.
la source