SQL Server 2016 pour les administrateurs IT

Diminuer la taille des fichiers

Testez gratuitement nos 1300 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Si les fichiers deviennent trop grands, vous pourrez diminuer leur taille physique sur le disque à l'aide de la commande shrink.
05:30

Transcription

Je vais vous parler donc de cette option, de « Réduction automatique », toujours à False, de quoi s'agit-il ? Vous vous souvenez j'aurais pu y rester d'ailleurs quand je regarde ici. Dans les options des Fichiers je vois qu'il y a une taille initiale. Lorsque je crée une base de données je peux bien entendu, définir la taille initiale des fichiers, de données et de journal de transaction. Pourquoi est-ce que je ferai ça ? Parce que je ne suis pas dans Word ici. Je suis sur un Serveur de base de données relationnelle d'entreprise qui est mise en production. Et donc, ce que je veux faire c'est que je démarre déjà avec une base de données qui a une taille idéale. Par exemple, je monte un Server de base de données pour une application de compatibilité. Je sais que j'ai à peu près, on va dire, 50 G de données de compatibilité. D'accord, ça fait beaucoup, mais on va partir de ce principe, c'est un exemple. Je sais qu'il va y avoir une augmentation de 10% par année, donc on va dire grosso-modo, la première année on va prendre 5 G supplémentaire et puis la deuxième, un petit peu plus de 5 G, OK. Alors, je me dis, pour avoir de l'espace suffisant pour héberger ces nouvelles données, il faudrait par exemple, que je fasse quelque chose comme 65G ou disons 70G de base de données. Eh bien, je vais les mettre ici. Je vais mettre 70G de base de données. Donc, je ne vais pas le faire. Pourquoi ? Parce qu'on va créer ces fichiers comme si c'était des disques. Et à l'intérieur, SQL Server va allouer, va faire de l'allocation des données sous forme de pages de façon optimale. Je ne vais pas du tout le gérer en disant ça commence à 1 Mega, puis ensuite au fur et à mesure qu'il en a besoin, SQL Serveur va allouer de l'espace. C'est pas comme ça que ça fonctionne le mieux et en plus, chaque fois qu'il devra allouer de l'espace, il faudra bloquer l'exécution pendant un petit temps, de façon à pouvoir allouer cet espace physique sur le disque. Donc, ma stratégie ici est plutôt de prêt à louer un espace suffisant. Si je me suis trompé, je peux réduire la taille physique des fichiers. En fait, ce qui va se passer c'est que si je n'agis pas la taille ici ne peux qu'augmenter. Vous voyez, on avait vu qu'il y a eu une croissance automatique. Donc, on peut augmenter si on s'est trompé et si on a vu trop petit on arrive à 70G, ils sont remplis. On va augmenter par 20 Mega ici, on pourrait dire 1G dans mon exemple. Donc, dans ce cas je permets l'augmentation automatique, si le fichier est plein, parce que je ne vais pas laisser comme ça la base de données en erreur, parce qu'il n'y a plus de place. Mais dans l'autre sens, personne ne va diminuer la taille du fichier évidemment, puisque j'ai prédéfini sa taille à 70 G pour le futur, je ne vais pas maintenant rediminuer, c'est moi qui ai fait le choix de le mettre à 70G. Donc, la diminution se fait uniquement manuellement avec une commande qui s'appelle « Shrink ». Si j'active ici l'option de Réduction automatique, régulièrement, SQL Serveur lui-même va effectuer ce Shrink sur les fichiers de données. Donc, ce n'est pas du tout ce que je veux, ça, ça n'a rien à faire en production. Si je m'aperçois qu'un jour le journal de transaction , par exemple ça arrive souvent a vraiment augmenté de taille, à ce moment-là, je vais pouvoir faire un Shrink du journal, ou bien, si le fichier de données est trop important, je vais pouvoir faire un Shrink de ce fichier de données. Ce que j'appelle un Shrink, une réduction ne peut être faite que pour libérer l'espace libre dans le fichier. Ainsi le fichier est plein de données, il ne pourra rien se passer. La diminution de taille se fait comme ceci : Clic droit/ Tache/ Réduire et je vais sélectionner ici soit une réduction de la base de données, ça veut dire tous les fichiers qui composent la base de données, journal de transaction, fichiers de données, etc, ou bien, je vais sélectionner des fichiers. Donc, entre nous, cette option « Base de données », il ne faudrait jamais la sélectionner, on na va pas faire un Shrink de tout. On va sélectionner le fichier qu'on veut diminuer. Et on va voir ici, par exemple, que sur mon fichier de données il y a un espace libre disponible de 1%. Ça ne sert à rien. Si je regarde le fichier de journal de transaction, j'ai un espace libre disponible de 19 sur 20, donc de 96%. Ici je pourrai faire un Shrink. Je vais utiliser cette commande pour dire qu'on va réduire ce fichier et je peux indiquer ici une réduction à une taille, je peux dire, bon, tu passes de 20 Mega à 10 Mega. A ce moment-là, je vous lance le Script derrière. Ça utilise une très vieille commande SQL qui fait partie des commandes DBCC. Ce sont des commandes assez anciennes de Contrôle de la base de données, ça veut dire Database Control Commands et la commande s'appelle ShrinkFile, entre parenthèses je mets le nom logique du fichier, vous vous souvenez si je reviens ici, mes fichiers ont un nom logique et voici le nom logique du fichier de journal, on est d'accord. Donc, je vais dire Nom logique et puis je vais donner la taille cible. Donc je peux le faire comme ceci, un purement en code, je peux le faire à travers l'interface, c'est la même chose, je vais faire un petit OK. Et je vais regarder quel est le résultat. Maintenant je suis à peu près à 10 Mega, je suis à 11 Mega. Cette commande de diminution de taille, vous n'allez l'utiliser qu'en cas de problème, qu'en cas d'absolue nécessité, mais surtout pas quelque chose que vous allez faire régulièrement et surtout pas automatiquement par SQL et encore moi, si vous voulez dans des tâches planifiées, ce que je vois très régulièrement lorsque je fais des audits de SQL Serveur.

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 !