Bonjour,
Comment faut-il procéder pour rétablir à l'identique, et de manière automatique, le nombre de VLF de la base tempdb après un redémarrage de l'instance SQL Server ?
Imaginons le scénario suivant :
Le fichier log de la base tempdb fait 16 Go, redimensionné manuellement par pallier de 4 Go, (exemple 64 Mo puis 4 Go d'accroissement à chaque étape), soit au total 68 VLF (68 VLF = 4 VLF + ( (16 Go/4) * 16 VLF ) ) (1)
(1) : il s'agit de l'algorithme applicable jusqu'à SQL Server 2012 inclus. Pour SQL Server 2014 et supérieur l'algorithme a changé, mais le problème soulevé reste le même !
Selon ce scénario, nous avons des fichiers VLF de taille moyenne chacun de 240 Mo. On est bien dans le domaine du raisonnable, c.à.d. dans la zone verte.
Au redémarrage de l'instance, la base tempdb est recréée avec seulement 16 VLF, (soit 16 fichiers VLF de taille moyenne chacun de 1024 Mo), et on perd le paramétrage préalablement défini ci-dessus, (soit 68 fichiers VLF d'une taille moyenne chacun de 240 Mo). En effet, SQL Server ne permet pas aux administrateurs de définir le nombre de VLF pour la base tempdb au démarrage de l'instance.
Remarque :
D'après mon analyse entre 512 Mo et jusqu'à 8 Go pour le fichier log, c'est moins problématique parce qu'après un redémarrage, même si on perd le paramétrage et on repart sur 16 fichiers VLF, on reste dans une zone verte c.à.d la taille du fichier VLF individuel variera entre 32 Mo et et 512 Mo. On est bien dans la zone raisonnable, ce que moi j'appelle la zone verte.
En revanche pour les gros fichiers log dont la taille peut excéder plusieurs centaines de Go, je pense que cela peut être problématique de repartir sur 16 VLF après redémarrage (?)
Imaginez par exemple un fichier de log de 400 Go doté de seulement 16 VLF soit des fichiers VLF de taille moyenne de 25 Go chacun ! Cette configuration ne deviendrait-elle pas problématique ? j'ai de sérieux doutes (?).
Donc je reviens à ma question initiale : "Comment faut-il procéder pour rétablir à l'identique, et de manière automatique, le nombre de VLF de la base tempdb, après un redémarrage de l'instance SQL Server ?"
Merci pour vos réponses éclairées.
A+
Partager