SQL Server 2016 pour les administrateurs IT

Définir le checkpoint

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
L'opération de point de contrôle, ou checkpoint, permet de vider régulièrement le journal de transactions. Assimilez son importance dans les processus d'écriture des données.
05:02

Transcription

Nous avons vu le comportement du journal de transaction. J'ai exécuté quelques commandes un peu étranges comme la commande Checkpoint. De quoi s'agit-il ? Le journal de transaction va stocker sur le disque de façon journalisée séquentielle toutes les opérations d'écriture. À quoi ça sert ? À ne pas les perdre, bien entendu. Mais comment les récupérer ? Alors, maintenant j'en suis à un stade où j'ai un certain nombre ici de pages dans le Buffer qui sont marquées « Modified ». On dit que ces pages sont sales, elles sont « dirty ». Elles sont sales parce que ce sont des pages de huit kilos qui sont maintenues en mémoire et qui ne correspondent plus à ce qui existe sur le disque, sur le fichier de données. Toutes les pages sales si le serveur crash vont être effacées de la Ram et donc les modifications seront perdues, le fichier de données ne les a pas. Par contre, le journal de transaction les contient. Donc, que faire ? Si SQL serveur crash, lorsque SQL serveur va démarrer il va commencer à lire le journal de transaction de toutes les bases de données pour voir s'il n'y a pas des choses à récupérer. Et on appelle justement cette opération la Récupération ou le Recovery. Je vais aller pourquoi pas redémarrer SQL serveur. Donc, on me dit est-ce que tu veux vraiment redémarrer ? Oui, oui, oui, je souhaite continuer, voilà. Donc, ici j'ai une tentative d'arrêt SQL serveur, on redémarre. Et je rafraîchis, on est bon. Maintenant je vais regarder dans Gestion et dans les Journaux SQL serveur. Ce sont les journaux d'erreurs, ce n'est pas le journal de transaction. Ce sont des logs, des fichiers texte maintenus par SQL serveur sur le disque. Et dans l'Actuel, c'est un fichier qui a été généré au moment où on a démarré. Il y a une rotation de ces fichiers. Le journal d'erreurs est recommencé lorsqu'on démarre. Donc, je vais afficher ce journal d'erreurs. Et je vais voir tout au début ici qu'on a démarré. Donc, ça c'est vraiment le démarrage du serveur. On a un certain nombre de choses qui s'écrivent. Ça vaut vraiment la peine d'ailleurs de regarder le journal d'erreurs de temps en temps, et puis on va voir qu'on a un Starting up Database master, Starting up Database et ici, c'est surtout ça qui m'intéresse, un Starting up Database PachaDataFormation. On continue un petit peu. Donc, ça c'est toute la procédure de démarrage, et vous voyez ici « Recovery is complete ». Ça veut dire la Récupération est complète. Entre les Starting up des bases de données et la récupération il s'est passé quelques secondes, mais il y a eu récupération complète. Pendant ce temps-là, entre ça et ça le journal de transaction, notamment PachaDataFormation a été lu. On a repris tout ce qui s'est passé et on a réellement récupéré les données et on les a écrites sur le fichier de données. Donc, cette récupération au démarrage permet de récupérer les informations extraites du journal de transaction pour pouvoir récupérer les modifications effectuées. Ça, c'est une bonne chose mais si le serveur est démarré depuis des jours et des jours, le journal de transaction n'est-il pas énormément rempli de modifications qui se sont passées pendant des jours et des jours ? Et lorsqu'on redémarre il va falloir lire des gigaoctets de données et ça va prendre des heures. Justement il faut se protéger contre ce problème. Ce que va faire SQL serveur c'est que régulièrement il va lancer une opération qu'on appelle justement le Checkpoint. Ici j'ai exécuté cette commande à la main, mais c'est simplement pour la démonstration. La plupart du temps cette commande, elle est simplement lancée par le système, régulièrement, c'est un process qui tourne en tâche de fond qui décide régulièrement de lancer ce Checkpoint. Le Checkpoint va prendre le journal de transaction, récupérer toutes les modifications qui ont été faites, placer un point de contrôle dans le journal de transaction pour séparer ce journal entre une portion inactive et une portion active qui va commencer à vivre. Et c'est cette portion active uniquement qui va être rejouée lorsqu'on démarre SQL serveur. Le Checkpoint va faire en sorte que tout ce qui est dans le Buffer et qui est modifié soit écrit sur le disque de façon asynchrone derrière et ça ne bloquera aucun utilisateur, donc, les performances ici ne sont pas en question, ce n'est pas un problème. Je simplifie. Régulièrement SQL serveur prend les pages qui sont dans le Buffer et qui sont sales, les écrit sur le disque, dans le fichier de données et vide le journal de transaction de sa portion inactive. On n'a plus besoin de ces informations, en tout cas si on ne fait pas de sauvegarde, mais je reparlerai de ça plus tard. Donc, l'opération de Checkpoint s'exécute régulièrement. Maintenant je peux regarder où j'en suis, j'ai redémarré de toute façon. Je n'ai plus de pages qui sont sales. Mon journal de transaction n'a que 19 lignes, et la question c'est est-ce que mes données sont correctes ? C'est-à-dire est-ce que mes noms sont tous en minuscules ? Et on va pouvoir le constater. Tous mes noms sont en minuscules, donc, tout va bien.

SQL Server 2016 pour les administrateurs IT

Comprenez le fonctionnement et les différents modules qui composent SQL Server. Prenez en main les bases de données, les schémas, les tables, la gestion des fichiers, etc.

5h20 (55 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :14 mars 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !