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 15/09/2011, 09h37   #1
Membre habitué
 
Avatar de joefou
 
Inscription : février 2005
Messages : 238
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : février 2005
Messages : 238
Points : 136
Points : 136
Par défaut [SQL SERVER 2000] Réduire la taille de la base

Bonjour à tous !

Je dispose d'une base de donnée sql server (MSDE) ayant une taille d'environ 200 Mo, mais les données ne réprésentent qu'une portion largement inférieure. J'ai tenté d'utiliser la commande DBCCSHRINKDATABASE, ainsi que les options de maintenance disponibles dans l'utilitaire Management studio express 2005, mais sans obtenir plus que quelques Mo.

Quelle(s) option(s) ou commande(s) puis-je utiliser afin de gagner le maximum de place ?

D'avance merci !
__________________
"On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

"Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse
joefou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 03h15   #2
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 669
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 669
Points : 8 729
Points : 8 729
Bonjour,

Citation:
mais les données ne réprésentent qu'une portion largement inférieure
Comment le savez-vous ? Avez-vous utilisé sp_spaceused ?
Si ce que vous dites est vrai et que votre base de données n'est pas trop indexée, c'est que la base de données a un jour atteint cette taille, et que par la suite vous avez supprimé des données ou des index de celle-ci.

D'un autre coté si lorsque vous avez tenté de faire rétrécir la base de données vous en étiez le seul utilisateur et que SQL Server n'a trouvé que quelques Mo, c'est que la base de données a une taille qui avoisine les 200Mo.

Tôt ou tard votre base de données grossira donc, et comme vous l'aurez réduite, à chaque fois que le fichier de données devra grossir, toutes les requêtes à cette base de données seront en attente de la fin du grossissement du fichier. Quand on sait que le temps d'accès disque est au mois 1000 fois plus lent qu'un accès en RAM ...
En plus de cela, vous favorisez la fragmentation du fichier si le fichier de données n'est pas le seul hébergé sur le disque ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 09h56   #3
Membre habitué
 
Avatar de joefou
 
Inscription : février 2005
Messages : 238
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : février 2005
Messages : 238
Points : 136
Points : 136
Bonjour Elsuket !

Mon estimation est peut être effectivement erronée, je vais m'assurer d'être bien le seul utilisateur connecté, et de vérifier l'espace utilisé par les données via la procédure stockée. Comme il y a beaucoup d'opérations d'ajout-suppression, je m'attendais à avoir en conséquence des espaces inutilisés.
Je vérifie tout ça !
__________________
"On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

"Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse
joefou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 10h51   #4
Membre habitué
 
Avatar de joefou
 
Inscription : février 2005
Messages : 238
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : février 2005
Messages : 238
Points : 136
Points : 136
Voici ce que sp_spaceused donne:

Database_size = 206.25 MB
Unallocated_space = 9.70 MB
reserved = 174448 KB
data = 91952 KB
index_size = 2584 KB
unused = 79912 KB

Devrais je repartir d'une base vierge et d'y recopier les lignes de données ?
__________________
"On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

"Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse
joefou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 14h39   #5
Membre habitué
 
Avatar de joefou
 
Inscription : février 2005
Messages : 238
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : février 2005
Messages : 238
Points : 136
Points : 136
J'ai mis la main sur ce qui posait problème, effectivement il y avait une table qui comprenait un nombre anormal de données. Une fois purgée, et les opérations de compactage lancée, j'ai retrouvé quelque chose de satisfaisant !

Merci Elsuket !
__________________
"On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

"Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse
joefou 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 02h01.


 
 
 
 
Partenaires

Hébergement Web