IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Commande shrinkfile et mauvaise pratique


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    unix
    Inscrit en
    Septembre 2016
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : unix
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2016
    Messages : 83
    Points : 58
    Points
    58
    Par défaut Commande shrinkfile et mauvaise pratique
    Bonjour à tous,

    Plusieurs articles et plusieurs recommandations faites par nos experts sur la commande shrinkfile Qu'est une commande obsolète ,mauvaise pratique et qu'il faut l’utiliser que dans le cas extrême (saturation physique disque)
    Cette commande peuvent être faite soit sur le fichier data soit sur le log.

    Ma question est la suivante : Est-ce que cette commande a le même effet négatif soit sur le fichier data comme sur le fichier log ?
    Aussi, si cette commande entraîne la fragmentation des index si on le fait sur le fichier data quel est leur impact sur le fichier Log ?

    Merci pour vos éclaircissements

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par cristophe0071983 Voir le message
    bonjour a tous
    Plusieurs article et plusieurs recommandations faite par nos experts sur la commande shrinkfile Qu'est une commande obsolète ,mauvaise pratique et qu'il faut l’utiliser que dans le cas extrême (saturation physique disque)
    cette commande peuvent étre faite soit sur le fichier data soit sur le log
    Ma question est le suivant : Est ce que cette commande a la même effet négative soit sur le fichier data comme sur le fichier log
    aussi si cette commande entraîne la fragmentation des index si on le fait sur le fichier data quel est leur impact sur le fichier Log
    merci pour vos éclaircissement
    Les fichiers d'une base de données sont par nature toujours en croissances, même si vous procédés à des purges régulières :

    1) pour les fichiers de données parce que l'on rajoute toujours de l'information à la base

    1.1) même en cas de purge régulière (par exemple purger les données des années passées) par ce que l'on rajoute régulièrement de nouvelles rubriques informatives (par exemple l'apparition d'un nouveau produit avec des caractéristiques particulières, par exemple de nouvelles taxe, des demandes complémentaire de stockages d'informations diverses...)
    1.2) parce que par nature, et pour survivre, une entreprise à besoin de croissance. l'activité d'une année passée est donc en général moindre que l'année suivante, rarement le contraire...

    2) pour les fichiers de journalisation des transactions du fait de l'accroissement de la volumétrie à traiter dans la même unité de temps :

    2.1) soit par l'ajout de nouvelles colonnes à certaines tables ou de nouvelles tables
    2.2) soit par l'augmentation du nombre d'utilisateurs effectuant plus de demandes (non journalisées) mais aussi plus de mises à jour (journalisées)

    Dès lors, vouloir réduire des fichiers qui par nature ne vont que croitre est comme si vous supprimiez les sièges de votre voiture à chaque fois que quelqu'un en descend !
    La commande SHRINK (FILE ou DATABASE) n'est pas du tout obsolète. Elle ne fait pas que réduire les fichiers, mais permet aussi d'en déplacer les données. Elle est très utile dans la cas du DBA qui veut optimiser son stockage, mais il faut l'employer avec parcimonie.
    Elle a le même effet sur tous les fichiers (données et transactions), mais sur les fichiers du journal de transaction son effet est beaucoup plus dévastateur car ce dernier est écrit de manière synchrone.
    Cette commande n'entraine pas de fragmentation des index. Elle entraine une fragmentation physique des fichiers ce qui est pire car oblige la tête de lecture des disques de se promener afin d'effectuer les différents accès à un même objet (table ou index), et d'ailleurs cette fragmentation physique des fichiers est très difficile à mesurer. La fragmentation "interne" des objets (table ou index) est une fragmentation logique bien moins préoccupante que la fragmentation des fichiers.

    Si vous désirez d'autres explication, notre livre sur SQL Server comporte un chapitre de plus de 100 pages consacrées au stockage des données et donc à ces problématiques qui sont extrêmement dommageables pour les performances...

    A +

    Nom : Couverture livre SQL server Eyrolles.jpg
Affichages : 310
Taille : 105,0 Ko
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Quelles mauvaises pratiques de développement doivent disparaitre du Web ?
    Par Gordon Fowler dans le forum Général Conception Web
    Réponses: 72
    Dernier message: 30/07/2013, 05h22
  2. [XL-2003] problème avec la commande range ou mauvaise commande
    Par jocker2807 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/09/2011, 17h16
  3. Grain de sel aléatoire, bonne ou mauvaise pratique ?
    Par Sergejack dans le forum Sécurité
    Réponses: 1
    Dernier message: 13/08/2009, 10h18
  4. typeid, mauvaise pratique de programmation ?
    Par poukill dans le forum C++
    Réponses: 8
    Dernier message: 08/06/2009, 18h07
  5. Mauvaise pratique ? throw new exception()
    Par AsPrO dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2009, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo