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

MS SQL Server Discussion :

[SQL2000] Espace unused dans une base.


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut [SQL2000] Espace unused dans une base.
    Bonjour à tous.

    Je me retrouve confonté à une drôle de situation. J'ai une base dont la taille grossit sans cesse ( logique me direz vous !) . Or quand je la procédure stocké qui permet de vérifier la place je m'aperçois qu'il y a énormément de place inutilisée.


    Mes questions :
    - Est ce dû à de la fragmentation ?
    - Comment puis je récupérer cette taille énorme qui représente plus que la moitié de la taille de la base ?

    Merci beaucoup.

    ApprentiOracle


    database_name
    database_size
    unallocated space
    ------------------------------------------------------------------------------
    -------------------------------------------------- ------------------
    ------------------
    PLES
    21179.56 MB
    831.66 MB


    reserved data index_size unused
    ------------------ ------------------ ------------------ ------------------
    20733848 KB 6602576 KB 510712 KB 13620560 KB

  2. #2
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    A priori,

    En vérifiant la place des tables, l'essentiel est pris par une seule table.

    DOC_WORD 83599 15629016 KB 2102728 KB 2464 KB 13523824 KB

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    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 848
    Points : 52 964
    Points
    52 964
    Billets dans le blog
    6
    Par défaut
    Cela ne sert à rien de récupérer l'espace. C'est au contraire très contre performant. Lisez l'article que j'ai écrit à ce sujet :
    http://www.google.fr/url?sa=t&source...TjHpP4a5LUnq8g
    Néanmoins vous pouvez utiliser les commandes SHRINKFILE ou SHRINDATABASE.

    A +
    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/ * * * * *

  4. #4
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Bonjour SQLpro et merci de votre réponse.

    Malheureusement, je n'accéde pas à votre lien.

    edition : j'y accéde maintenant merci.

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Merci pour votre article ,que j'ai parcouru.

    Je vais quand même tenter de réduire la table car il ne devrait plus y avoir d'insertion dans cette table. Elle sera uniquement consultée.

    Qu'en pensez vous ?

    Merci

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    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 848
    Points : 52 964
    Points
    52 964
    Billets dans le blog
    6
    Par défaut
    Pourquoi pas !

    Et si elle n'est réellement plus mise à jour, passez là en READ ONLY. Vous n'aurez plus de verrous.

    A +

    A +
    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/ * * * * *

  7. #7
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Oui, c'est une bonne idée !

    Merci encore.

  8. #8
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Cela ne semble pas être le cas ici mais pensez tout de même à vérifier l'espace réellement utilisé par vos tables.
    Il m'est arrivé, sur une base en SQL 2000 de trouver des tables dont l'espace réservé (par tables) était beaucoup plus important que l'espace utilisé.

    J'avais trouvé des "explications" ici. D'après ce que j'en ai compris, l'absence d'index cluster sur les tables provoquait ces perturbations.

    L'ajout d'index cluster sur les tables en question m'a permis de réduire drastiquement la taille de la base.
    La base est alors passé de 15 à 3Go (sans avoir repris de volume depuis).
    Alexandre Chemla - Consultant MS BI chez Masao

  9. #9
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Oui car avec les tables HEAP, les suppressions de données provoquent des "trous" et des "forwarded records" qui peuvent engendrer une certaine fragmentation et une allocation d'espace inutile.

    Le seul moyen de réordonner les pages de façon optimale est de créer un index cluster sur la table.

    ++

  10. #10
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Intéressant !

    Jinroh77, vous n'avez créé qu'un index cluster et cela vous a permis sans rien faire de diminuer l'espace unused de la table ?

    Je vais lire votre lien de ce pas !

    Merci à vous mikedavem,Jinroh77 et Sqlpro pour vos idées et conseils !

  11. #11
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Citation Envoyé par ApprentiOracle Voir le message
    Intéressant !

    Jinroh77, vous n'avez créé qu'un index cluster et cela vous a permis sans rien faire de diminuer l'espace unused de la table ?

    Je vais lire votre lien de ce pas !

    Merci à vous mikedavem,Jinroh77 et Sqlpro pour vos idées et conseils !
    Exactement, 1 index cluster par table (vous ne pouvez de toute manière pas avoir 2 index cluster sur 1 même table).
    J'étais sur une base CRM avec des colonne standard donc j'ai pu scripter cela (recherche des tables concernées, vérification de l'existante de la colonne me permettant de créer l'index et création de l'index) pour l'ensemble de ma base.
    Alexandre Chemla - Consultant MS BI chez Masao

  12. #12
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Bonjour à tous ,

    J'ai suivi les conseils de Jinroh77 et j'ai créé un index cluster sur ma table doc_word. Seulement l'espace UNUSED n' a pas diminué.

    J'ai tenté également de créer une table clone de ma table en faisant un "select * into doc_word1 from doc_word.

    Et j'obtiens à peu de chose près le même d'espace unused sur ma table doc_word1 que sur ma table doc_word.

    J'ai donc l'impression que cet espace est en fait bien utilisé.
    D'ailleurs en faisant un DBCC UPDATEUSAGE(BASE), et en refaisant exec sp_spaceused 'doc_word', j'obtiens bien un petit unused. LA différence avec l'unused du début est passé dans la colonne DATA.

    cldt

  13. #13
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Est-ce que vus aviez essayé le DBCC UPDATEUSAGE avant de créer l'index clustered ?
    Il y avait effectivement peut-être une lacune de ce côté.
    Alexandre Chemla - Consultant MS BI chez Masao

  14. #14
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par Jinroh77 Voir le message
    Est-ce que vus aviez essayé le DBCC UPDATEUSAGE avant de créer l'index clustered ?
    Il y avait effectivement peut-être une lacune de ce côté.
    Bonjour !

    Je ne l'avais pas lancé avant effectivement !

  15. #15
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Dommage, on n'y avait pas pensé, mais ça aurait été interessant de le faire avant, créer l'index et refaire.

    Bon en tout cas, le unused semble avoir trouvé sa place.
    L'espace used est-il beaucoup plus important que avant toutes ces modifications ?
    Alexandre Chemla - Consultant MS BI chez Masao

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Espace incécable dans une base de donnée
    Par HWICE dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 26/07/2007, 15h58
  2. [Oracle] Recherche nulle dans une base et affichage
    Par GLDavid dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/04/2006, 01h01
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  4. [SYBASE]Libérer espace libre dans une base de données ?
    Par le_parrain dans le forum Sybase
    Réponses: 3
    Dernier message: 14/05/2004, 09h36
  5. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12

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