2009-08-01 9 views
1

Nous avons une base de données contenant des données de configuration. Lorsqu'elles sont exécutées, les applications effectuent beaucoup de calculs et écrivent ensuite des données dans un fichier. Contrairement aux installations normales, nous n'avons pas vraiment besoin du journal des transactions. Ce que je veux dire ici, c'est que nous pourrions prendre une sauvegarde de la base de données et l'utiliser sans lui appliquer de journaux de transactions pour le mettre à jour.Le journal des transactions est sauvegardé lorsque la récupération des données n'est pas importante

Puisque les journaux de transactions ne sont pas si importants pour nous, quelle devrait être la meilleure stratégie de sauvegarde? Actuellement, le journal des transactions est énorme (10 Go, alors que la base de données est d'environ 50 Mo, cela a duré quelques mois). Pourrions-nous simplement effectuer une sauvegarde initiale de la base de données, puis sauvegarder le journal des transactions tous les quelques jours ou moins, en écrasant le journal actuel? Ou pourrions-nous simplement supprimer le journal des transactions et en créer un nouveau?

JD.

Répondre

6

Vérifiez que la base de données s'exécute dans le modèle de récupération simple. Cela permet d'éviter d'avoir à effectuer des sauvegardes du journal des transactions. Ce modèle de récupération garantit automatiquement que les parties inactives du journal des transactions peuvent être immédiatement disponibles pour réutilisation. Désormais, vous n'êtes plus concerné par la gestion du journal des transactions. Vous pouvez donc vous concentrer sur votre stratégie de sauvegarde.

Une sauvegarde hebdomadaire complète de la base de données, peut-être avec des sauvegardes différentielles quotidiennes, peut répondre à vos besoins.

Recovery Model Overview

+0

Merci. Juste pour récapituler, Simple est le chemin à parcourir. Cependant, nous écrivons des données dans la base de données, mais ces données peuvent être calculées à partir de la base de données sauvegardée (le lien mentionne que Simple est bon pour les bases de données où les données ne changent pas). Je suppose que juste une sauvegarde complète de la base de données lorsque nous modifions les données de configuration sera tout ce qui est nécessaire. Pouvons-nous automatiser cela et devons-nous faire autre chose comme réduire le journal des transactions? JD. –

+0

Juste fait un peu plus de lecture. L'intervalle de récupération pour l'instance de serveur SQL est 0 minute. D'après ce que je comprends, des points de contrôle automatiques ont lieu, ce qui signifie que le journal des transactions est tronqué (ce qui libère de l'espace pour la réutilisation). Est-ce correct? Si oui, alors je n'ai vraiment pas besoin d'exécuter de scripts (juste une sauvegarde complète de la base de données). –

+1

@JD: L'utilisation du modèle de récupération simple signifie que vous ne pouvez pas restaurer une base de données à un moment précis (car cela nécessite des sauvegardes du journal des transactions) si le besoin s'en fait sentir. La récupération ponctuelle fournie n'est pas une exigence, peut-être que les données sont relativement statiques ou peuvent être récupérées par un autre moyen, par ex. vous avez une sauvegarde de base de données complète ou des données peuvent être récupérées à partir de ré-importuner un flux de données, puis le modèle de récupération simple répondra à vos besoins. Vous avez également raison en ce que le modèle de récupération simple gère automatiquement la troncature du fichier journal des transactions pour vous. –

0

Si je comprends bien, vous n'écrivez pas de données à votre base de données. Et pour cette raison la meilleure stratégie de sauvegarde pour vous sera: 1. Modifiez le modèle de récupération à simple et réduisez le journal des transactions, à l'aide de DBCC SHRINKFILE. 2. Effectuez une sauvegarde complète de votre base de données.

+0

Merci à HawX. Votre réponse a aidé. –

Questions connexes