web-dev-qa-db-fra.com

Le fichier journal SQL 2 To ne suffit pas, maintenant quoi?

Il s'agit d'une question hypothétique, qui découle de la réponse par sepupic où ils expliquent que 2 To est la limite physique pour le fichier journal SQL.

si vous en avez besoin de plus de 2 To, vous ajoutez le deuxième fichier journal.

Je pense depuis longtemps que plusieurs fichiers journaux sont mauvais, comme indiqué dans la publication Fichiers journaux de transactions multiples et impact sur les performances

Je ne peux tout simplement pas imaginer un scénario dans lequel avoir 2 To de fichiers journaux se produit même, mais si c'est le cas, et pour une raison quelconque, des sauvegardes de journaux plus fréquentes ne le résoudront pas ( plusieurs scénarios implicites ), que faites-vous?

Ajoutez-vous un deuxième fichier journal ou y a-t-il autre chose?

6
James Jenkins

plusieurs fichiers journaux sont incorrects

Ce n'est pas que plusieurs fichiers journaux sont mauvais ... C'est que plusieurs fichiers journaux sont totalement inutile et n'offrent aucun avantage ... sauf si vous avez besoin d'un fichier journal de plus de 2 To.

Avec les fichiers de données, SQL Server peut bénéficier de plusieurs fichiers car il effectuera des E/S parallèles vers/depuis les deux fichiers en même temps. Cependant, avec les fichiers journaux, SQL Server n'écrira que dans l'un ou l'autre. La nature circulaire du fichier journal signifie que si vous créez deux fichiers, SQL Server écrira dans l'un, arrivera à la fin, puis écrira dans l'autre, arrivera à la fin, puis reviendra au premier, etc.

Il n'y a aucun gain de performances en ayant plusieurs fichiers journaux.

Cependant, en raison de la limitation de capacité que tout fichier journal peut avoir au plus 2 To, si vous avez besoin de plus de 2 To de fichier journal, vous devrez créer plusieurs fichiers journaux. C'est la raison seulement de créer plusieurs fichiers journaux.

Pourquoi avez-vous besoin d'un fichier journal de 2 To?

Je ne peux tout simplement pas imaginer un scénario où 2 To de fichiers journaux se produisent même

Parce que votre journal des transactions augmentera pendant les sauvegardes complètes , si vous avez une très grande base de données qui prend un certain temps à sauvegarder, et est très occupé pendant les sauvegardes, vous peut générer plus de 2 To de journal des transactions pendant la sauvegarde.

De même, si vous avez une très grande transaction exécutant le journal (comme une reconstruction d'index sur une très grande table), vous pouvez générer 2 To de journal des transactions avant de pouvoir le réutiliser.

Bien sûr, votre journal des transactions peut augmenter pour un certain nombre de raisons . Ce ne sont pas nécessairement normal pour faire grossir votre journal, mais ils contribuent à la croissance. Si vos sauvegardes du journal des transactions ne se terminent pas correctement, ou si votre AG ne se synchronise pas ou si la réplication ne lit pas la transaction à partir de votre journal ... votre fichier journal augmentera. Si ces problèmes persistent, votre fichier journal atteindra éventuellement 2 To.

Cela dit, le besoin de 2 + To de fichier journal est très rare .

8
AMtwo

Microsoft recommande un seul fichier LDF pour chaque base de données.

Ce scénario est vraiment très particulier. Cependant, vous pouvez effectuer les opérations suivantes:

1. Run the BACKUP LOG [database_name] WITH TRUNCATE_ONLY command
2. Run USE [database_name]
3. Run sp_helpdb 'database_name'
4. Write down the FileID of the log files.
5. For each file run the DBCC SHRINKFILE (FileID) command.

J'espère que je t'ai aidé :)

0
Leonardo Lacerda

Ajoutez-vous un deuxième fichier journal ou y a-t-il autre chose?

Vous pouvez également définir une taille raisonnable de autogrowth et laisser votre fichier journal grandir.

Il n'y a aucun contrôle dessus et le fichier journal peut dépasser 2Tb, vous ne pouvez pas le définir explicitement mais rien n'empêchera la croissance de votre fichier journal, seulement disk espace libre.

0
sepupic