Comment réduire un fichier Journal de SQL Server avec la mise en Miroir de permis?
J'ai plusieurs bases de données pour mes applications qui utilisent SQL Server 2005 mise en miroir de conserver une belle copie des données à un autre endroit. Fonctionne comme un charme, cependant, le fichier journal semble être de plus en plus et de plus en plus que l'on est à 15 GO pour une base de données de 3 go.
Normalement, je peux juste la réduire - mais une erreur s'affiche qui concrètement ne peut pas être fait. Mais, il semble que finalement, si rien n'allait étendre à utiliser tout l'espace sur le disque.
Je vois que je peux définir une taille maximale de fichier pour le fichier journal, c'est que la réponse ici? Sera le journal de rouler quand il touche le max, ou la DB simplement cesser de fonctionner?
Grâce
OriginalL'auteur Ryan M | 2008-10-30
Vous devez vous connecter pour publier un commentaire.
Nous avons rencontré le même problème après le passage de l'envoi de journaux pour la mise en miroir. Vous devez créer un travail qui sauvegarde régulièrement le journal des transactions (toutes les 15 ou 30 minutes) afin de garder la taille du journal de sortir de la main.
Si il est déjà sorti de la main, exécutez l'utilitaire de SAUVEGARDE de JOURNAL sur le DISQUE = 'Nul', puis d'exécuter une commande DBCC SHRINKFILE. Ensuite, vous pouvez obtenir votre travail mis en place.
Notez que " Nul " n'est pas une faute d'orthographe, c'est un vieux DOS truc qui se comporte comme si vous êtes à l'écriture d'un fichier, mais vraiment juste vidages de l'information dans l'éther pour ne pas prendre de l'espace sur la machine.
Aussi, votre journal va croître jusqu'à ce que vous manquez d'espace, puis le tout cesse de fonctionner. Votre application va vous recevez un message d'erreur que le journal des transactions est plein.
EDIT: David correctement souligné que cette action permettra de briser la chaîne de journal et de réduire la capacité de récupérer à partir d'échec. Assurez-vous d'utiliser le journal de sauvegarde de 'nul' une commande en tant que dernier recours. Si vous avez de l'espace sur le disque, vous devez prendre une bonne sauvegarde de journal et de la configuration de votre plan de sauvegarde journal. Assurez-vous d'inclure des sauvegardes complètes et une tâche de nettoyage pour supprimer les anciens fichiers.
Vrai, si vous avez de l'espace, vous devriez toujours sauvegarder le journal correctement. Mais qui ne fonctionne que si vous avez de l'espace à gauche. Si le fichier journal est déjà épuisé l'espace sur le disque, vous serez à court d'options. Je vais modifier le post pour y inclure une étape de sauvegarde. Ce qui est un peu 🙂
OriginalL'auteur Brian Duncan
Je regarde pourquoi votre journal est croissante, alors vous pouvez définir une stratégie pour résoudre votre problème.
Il pourrait être utile de vérifier votre état de mise en miroir
Lorsqu'une base de données principale est exposée, elle est active auprès des connexions de l'utilisateur et le traitement des transactions. Cependant, aucun des enregistrements de journal sont envoyées à la base de données miroir, et si le client venait à échouer, le miroir n'aura pas de transactions à partir de la principale à partir du point de la principale entrée de l'exposé de l'état. Aussi, la principale du journal de transaction ne peut pas être tronqué, de sorte que le fichier journal sera de plus en plus indéfiniment.
ref http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx
OriginalL'auteur CPU_BUSY
Quelques bonnes idées peuvent être trouvés ici: http://yukonspace ... des transactions du journal de croissance.
De mon expérience avec le mode de récupération de bases de données (doit se comporter de façon quelque peu similaire), vous devez effectuer régulièrement des sauvegardes complètes au moins, sinon les journaux.
OriginalL'auteur Arvo
http://support.microsoft.com/kb/937531
OriginalL'auteur shariq
J'ai eu le même problème sur des bases de données en miroir
le fichier journal a augmenté de 40 go où le principal fichier de base de données était d'environ 700 Mo
J'ai trouvé cette solution Dans microsoft il fonctionne, mais seulement rétréci ma Base de données d'environ 4 pour cent
1 - il suffit de l'exécuter pour créer une procédure stockée
2 - exécuter la procédure stockée comme cela dans une nouvelle fenêtre de requête
Par exemple, si vous voulez réduire le mydb base de données, exécutez l'instruction suivante.
OriginalL'auteur masoud Cheragee
Êtes-vous sûr que le Miroir n'a pas de retard? L'instance de serveur principal ne peut pas tronquer le journal jusqu'à ce qu'ils ont été appliqués avec succès pour le miroir. Après un certain stade, je crois que vous pouvez avoir une sauvegarde du journal des transactions et de l'appliquer sur le miroir et redémarrer la mise en miroir.
OriginalL'auteur duckworth
Pour réduire fichier de transaction, la sauvegarde doit être effectuée comme il y a des actifs Fichier Journal Virtuel :
http://www.xoowiki.com/Article/SQL-Server/tronquer-journal-de-log-sur-base-en-miroir-499.aspx
OriginalL'auteur sacha79
sinon votre fichier de log va croître
indéfiniment. Si vous ne pouvez pas écrire à
le journal (c'est à dire hors de l'espace disque ou
hit max taille) de la DB échouera
le film n'est pas reflété sur l'
miroir de côté. La solution est ici
http://support.microsoft.com/kb/937531
Cet article a quelques bonnes infos sur Comment Les Fichiers Journaux de travail, vous devriez également lire Les facteurs qui peuvent retarder la troncature du journal
OriginalL'auteur David Hayes
Simplement, vous pouvez réduire le fichier journal à l'aide de la commande suivante
Merci pour vos commentaires .. 🙂
OriginalL'auteur Ahmad Hindash
Veillez à effectuer une sauvegarde complète après l'exécution de la sauvegarde de journal avec TRUNCATE_ONLY. Cela rompt la chaîne de sauvegarde du journal.
OriginalL'auteur Ali Bajwa