p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    juillet 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : juillet 2005
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Réduire taille mdf après suppression

    Bonsoir à tous,

    Je sais : sujet maintes fois évoqué mais je souhaiterais avoir les avis de chacun sur certaines méthodes :

    J'ai réalisé ces tests depuis sql management sur un sql 2008 standart.

    -> Export des données vers une nouvelle base : la base nouvellement créé est passée de 15Go (originale) à 5Go.

    -> réplication : apparemment, c'est sensiblement la même chose en terme de gain.

    Ces méthodes sont-elles valides lorsque l'on souhaite récupérer l'espace disque inalloué après un gros delete ?

    Pour ma part, un shrinkdatabase est trop consommateur de ressource et pas si efficace que cela.

    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 758
    Points : 1 067
    Points
    1 067

    Par défaut

    De mon point de vue la bonne méthode reste quand même le shrink. Les deux méthodes citées sont lourdes en termes de disponibilité (applications coupées le temps de faire toute l'opération + renommage de la base ). Et si tu trouves que le shrink est consommateur, je pense que l’initialisation de la répli avec un snapshot de 15Gb peut être bien pire.

    La difficulté avec DBCC SHRINKFILE est de ne pas trop réduire l'enveloppe de manière à laisser la reconstruction des indexes passer ensuite. Il faut bien calculer son coup.

    Enfin si on parle de 15Gb -> 5gb, est-ce que ça vaut vraiment le coup de réduire ? C'est important quand on purge un historique et qu'on passe de 1Tb à 300Gb, là d'accord. Dans ton contexte quel est l'espace utilisé dans la partie donnée et quelle est la prévision de gain ?
    David B.

  3. #3
    Expert Confirmé Sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    4 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 4 771
    Points : 10 381
    Points
    10 381

    Par défaut

    Même avis que David.

    Le shrinkfile est tout à fait une méthode valide ici. Les 2 méthodes que tu utilises ici rendent indisponible ton application.

    Moi je commencerai pas faire les opérations nécessaires sur mes index avant de réduire l'enveloppe. Cependant comme le dit David, est-ce que réduire l'enveloppe dans ton cas va valoir le coup ?

    ++

  4. #4
    Invité de passage
    Inscrit en
    juillet 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : juillet 2005
    Messages : 2
    Points : 0
    Points
    0

    Par défaut

    Bonsoir,

    Merci pour vos conseils.

    Je suis en plein test entre ces méthodes :

    Pour la petite histoire, le serveur qui ne devait héberger qu'une seule base en héberge aujourd'hui 3 (base de prod / de test / d'archivage)....forcément ca n'aide pas...

    L'espace disque va finir par devenir critique (tant du point de vue espace disque que du point de vue sauvegarde sur bande).

    Le moindre Giga de gagné est précieux.

    Une base de 15 Giga à remettre en test de temps à autre donc encore 15Go et je compte pas le log.

    Un shrink de la base me pose de gros soucis car le log grossi dangereusement et forcément ça sature niveau disque. Le recovery en mode simple pour plus ou moins éviter cela : pas possible car base en mirroring.

    Là je fais des essais de replication et, c'est vrai que la génération de l'instantané est assez consommateur mais au moins, on peut suivre l'évolution. Le shrink on sait pas trop ou on en est.

    On ne conservera que 1 an de données dans la base, le reste sera archivé.

    Le soucis c'est qu'aucune purge na été effectué depuis 3 ans donc si je purge, l'espace libre de la base sera un poil énorme et totalement inutile, c'est sur ça fragmentera pas beaucoup.

    Je vous tiens au courant.

    Merci pour tout

Discussions similaires

  1. Volume du MDF après un traitement de suppressions.
    Par Delphi-ne dans le forum MS SQL-Server
    Réponses: 4
    Dernier message: 24/11/2008, 12h41
  2. Réponses: 1
    Dernier message: 02/10/2008, 03h30
  3. Réponses: 9
    Dernier message: 08/12/2006, 10h36
  4. Réactualiser la taille d'un Fichier DBF après suppression de lignes
    Par oiapoque dans le forum Bases de données
    Réponses: 2
    Dernier message: 24/07/2006, 13h52
  5. Problème de taille après suppression de lignes dans un recordset...
    Par nikko_54 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/04/2006, 22h18

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