Utilisation de l'espace de disque de DB
-
30-10-2019 - |
Question
J'ai une base de données de production qui consomme une quantité importante de plus d'espace disque qu'elle ne devrait l'être.
En utilisant SP_SPACEUSED (seulement les tables intéressantes), j'obtiens.
Table Name Reserved (KBs) Data (KBs) Index Size (KBs)
---------- -------------- ---------- ----------------
E 149600 142992 1136
H 184968 12104 162272
M 94104 29512 62480
T 25616 13544 9464
MH 16072 10640 5208
U 5399312 2984184 2414376
Total 5869672 3192976 2654936
Cependant, la taille du disque sur est un énorme 16 GB
base de données et 6 GB
fichier journal.
Le coupable est principalement Table U
. La plupart des données sont très statiques avec juste beaucoup de UPDATE
aux lignes existantes. Table U
est l'ONY avec des charges de données en constante évolution et archivés chaque semaine.
Table U
La définition est,
[ID] INT NOT NULL,
[RD] DATETIME NOT NULL,
[UN] CHAR (7) NOT NULL,
[A] BIT NOT NULL,
[C] BIT NOT NULL,
[S] DATETIME NOT NULL,
[rowguid] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL
Il reçoit environ 5 millions de lignes par semaine et arche 5 millions de lignes supplémentaires par semaine.
Il n'a pas été partitionné / placé dans des groupes de fichiers séparés.
Le système a été arrêté depuis environ 6 mois, et je ne crois pas que notre équipe DBA l'ait jamais rétréci / l'a défaillant!
Des questions
- Pourquoi SQL utilise-t-il alors Beaucoup plus d'espace disque que ne le dit SP_SPACEUSED?
- Le Churn est-il responsable de la plupart de ce problème d'espace disque?
- Comment utiliser les partitions et les groupes de fichiers (SQL Commandes s'il vous plaît) pour mieux optimiser ce désabonnement?
Pas de solution correcte