Comment puis-je gérer la taille du journal SQL Server
Je suis en train de gérer la taille de SQL Server 2008 fichier journal. J'ai une base de données de rapports qui est chargé une fois par jour. Le modèle de récupération Simple est le mieux adapté, car il n'y a pas d'autres opérations que le matin de la charge, et je peux re-créer ces dossiers. Mes objectifs sont d'avoir le journal des transactions à une taille fixe, assez grande qu'il n'a pas d'allouer un nouvel espace au cours de la charge.
Mon problème est que le journal ne cesse de croître. Je sais que le journal est censé être marqué pour la réutilisation, mais pourquoi le journal de continuer à grandir? Le log_reuse_wait_desc montre "Rien".
Je peux réduire le journal de fichiers de 1 MO, donc je sais qu'il y a pas de transactions. Je peux mettre en place un travail à faire, mais je préfère laisser le journal à 500 MO, ce qui est suffisant pour supporter les charges quotidiennes. Si je fais cela, le journal de pousse.
Comment puis-je garder le journal à une taille uniforme?
Veuillez noter: la réduction du fichier journal n'a pas abordé cette question. Je sais comment le faire. J'essaie de trouver un moyen pour l'espace dans le journal des transactions pour être ré-utilisé.
source d'informationauteur Ed Mays | 2009-01-26
Vous devez vous connecter pour publier un commentaire.
Le fichier journal est utilisé à des fins de transactions, même si la base de données est en MODE de RÉCUPÉRATION SIMPLE. Si la taille du JOURNAL est vraiment de plus en plus au-delà de 500 MO, puis quelqu'un est en cours d'exécution d'une requête ou une procédure stockée qui exige que l'espace.
Par exemple, vous êtes peut-être la création d'index à l'encontre de vos tableaux de présentation. Qui sera fait à l'intérieur d'une transaction, de sorte que les modifications peuvent être annulées en cas d'erreur. Cependant, l'espace utilisé sera publié par la suite pour d'autres opérations une fois terminé.
Donc, si la taille du journal est à partir de 1 MO et croissante-à-dire, 700 MO, alors fait quelque chose qui nécessite de l'espace. Si vous verrouillez la taille de 500 MO, vous finirez par recevoir un "fichier journal de l'espace" erreur.
Mais si vous voulez vraiment de le fixer à 500 MO, vous pouvez effectuer les opérations suivantes:
(Je suis à l'aide de SQL Server 2005)
Remarque: Vous pouvez également définir une taille maximale du fichier journal dans la "croissance automatique de la section".
Alternativement, vous pouvez utiliser le script suivant pour faire le changement. Remplacer DATABASENAME avec la valeur appropriée. Aussi changer le Nom du Fichier Journal si nécessaire.
créer un travail d'entretien que les sauvegardes de la base de données et réduit le journal
La commande DBCC Shrinkfile vous permet de spécifier une taille de la cible:
Réduit le fichier DataFile1 à 7MO
Document à: MSDN
Sur le dessus de ma tête, vous pouvez utiliser la commande DBCC SHRINKFILE pour ce faire.