Gestion de la taille du fichier journal des transactions
Dans certains cas, il peut être utile de modifier la taille d'un fichier journal physique.
Gestion de l'utilisation de l'espace du journal
Vous pouvez contrôler l'espace occupé par le journal à l'aide de DBCC SQLPERF(LOGSPACE). Cette commande retourne des informations sur la quantité d'espace journal actuellement utilisée et indique à quel moment le journal des transactions a besoin d'être tronqué. Pour plus d'informations, consultez DBCC SQLPERF (Transact-SQL). Pour plus d'informations sur la taille actuelle d'un fichier journal, sa taille maximale et l'option de croissance automatique du fichier, vous pouvez également utiliser les colonnes size, max_size et growth pour ce fichier journal dans sys.database_files. Pour plus d'informations, consultez sys.database_files (Transact-SQL).
Important
Nous vous recommandons d'éviter de surcharger le disque du journal.
Réduction de la taille du fichier journal
La troncation du journal est primordiale parce qu'elle libère de l'espace disque en vue de le réutiliser, mais elle ne permet pas de réduire la taille du fichier journal physique. Pour réduire la taille physique du fichier journal, ce dernier doit être réduit afin de supprimer un ou plusieurs fichiers journaux virtuels qui ne contiennent aucune partie du journal physique (soit les fichiers journaux virtuels inactifs). Lorsque vous réduisez un fichier journal des transactions, un nombre suffisant de fichiers journaux virtuels inactifs sont supprimés à la fin du fichier journal afin de réduire le journal et le ramener à une taille proche de la taille cible. Pour plus d'informations, consultez Réduction du journal des transactions.
[!REMARQUE]
Certains facteurs (par exemple, une transaction longue) chargés de maintenir les fichiers journaux virtuels actifs pendant une période de temps prolongée peuvent limiter, voire même empêcher, la réduction du journal. Pour plus d'informations, consultez Facteurs pouvant retarder la troncation du journal.
Pour plus d'informations, consultez Réduction du journal des transactions.
Ajout ou agrandissement d'un fichier journal
Une autre solution pour gagner de l'espace consiste à agrandir le fichier journal existant (si l'espace disque le permet) ou à ajouter un fichier journal à la base de données, généralement sur un autre disque.
Pour ajouter un fichier journal à la base de données, utilisez la clause ADD LOG FILE de l'instruction ALTER DATABASE. L'ajout d'un fichier journal permet au journal de croître. Pour plus d'informations sur l'ajout de fichiers, consultez Ajout et suppression de fichiers de données et de journaux des transactions.
Pour agrandir le fichier journal, utilisez la clause MODIFY FILE de l'instruction ALTER DATABASE en spécifiant la syntaxe SIZE et MAXSIZE. Pour plus d'informations, consultez ALTER DATABASE (Transact-SQL).
Optimisation de la taille du journal des transactions tempdb
Le redémarrage d'une instance de serveur permet de redimensionner le journal des transactions de la base de données tempdb conformément à sa taille d'origine avant la croissance automatique. Ceci peut réduire les performances du journal des transactions tempdb. Vous pouvez éviter cette surcharge en augmentant la taille du journal des transactions tempdb après avoir démarré ou redémarré l'instance de serveur. Pour plus d'informations, consultez Base de données tempdb et Optimisation des performances de la base de données tempdb.
Contrôle de la taille d'un fichier journal de transactions
L'instruction ALTER DATABASE (Transact-SQL) vous permet de gérer la croissance d'un fichier journal de transactions. Notez les points suivants :
Pour modifier la taille actuelle du fichier selon les unités Ko, Mo, Go et To, utilisez l'option SIZE.
Pour modifier l'incrément de croissance, utilisez l'option FILEGROWTH. Une valeur 0 indique que la croissance automatique est désactivée et qu'aucun espace supplémentaire n'est autorisé.
Pour contrôler la taille maximale d'un fichier journal en Ko, Mo, Go et To ou affecter la valeur UNLIMITED à la croissance, utilisez l'option MAXSIZE.