Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2011, 10h58   #1
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
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


Citation:
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
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 11h10   #2
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
A priori,

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

Citation:
DOC_WORD 83599 15629016 KB 2102728 KB 2464 KB 13523824 KB
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 11h52   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 950
Points : 17 769
Points : 17 769
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 11h57   #4
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
Bonjour SQLpro et merci de votre réponse.

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

edition : j'y accéde maintenant merci.
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 12h06   #5
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
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
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 13h49   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 950
Points : 17 769
Points : 17 769
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2011, 14h15   #7
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
Oui, c'est une bonne idée !

Merci encore.
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 15h26   #8
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 770
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 770
Points : 1 833
Points : 1 833
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).
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 15h50   #9
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
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.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 13h07   #10
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
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 !
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 14h20   #11
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 770
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 770
Points : 1 833
Points : 1 833
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.
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h04   #12
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
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
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h09   #13
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 770
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 770
Points : 1 833
Points : 1 833
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é.
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h29   #14
Membre du Club
 
Inscription : février 2005
Messages : 168
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 168
Points : 42
Points : 42
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 !
ApprentiOracle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h32   #15
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 770
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 770
Points : 1 833
Points : 1 833
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 ?
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h28.


 
 
 
 
Partenaires

Hébergement Web