Taille de toutes les tables dans une base

Ruffal Messages postés 2 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 4 juin 2007 - 1 juin 2007 à 18:10
cs_NonoNantes Messages postés 5 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 25 juin 2009 - 25 juin 2009 à 13:23
Bonjour à vous,
Serait-il possible d'avoir la requete pour obtenir la taille de toutes les tables dans une base sous sql server 2005 ?

Merci à vous tous,

Cdt,

Richard 

6 réponses

cs_NonoNantes Messages postés 5 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 25 juin 2009 1
12 juin 2009 à 15:18
Salut,
C'est peut-être un peu tard, mais ce topic m'a aidé à trouver la réponse:
Le sp_spacused, fait bien ce que je peux pour une table, et je voulais la même chose pour toutes les tables,
alors j'ai regardé ce que faisait le sp_spaceused, je m'en suis inspiré et voilà ce que j'ai fait :
(ca liste les tables utilisateurs de la base et donne le volume occupé par les données et par les indexs)

select nomTable= object_name(p.object_id),
        lignes = sum(
                CASE
                    When (p.index_id < 2) and (a.type = 1) Then p.rows
                    Else 0
                END
            ),
        'mémoire (kb)' = ltrim(str(sum(a.total_pages)* 8192 / 1024.,15,0)) ,
        'données (kb)' = ltrim(str(sum(
                CASE
                    When a.type <> 1 Then a.used_pages
                    When p.index_id < 2 Then a.data_pages
                    Else 0
                END
            ) * 8192 / 1024.,15,0)),
        'indexs (kb)' = ltrim(str((sum(a.used_pages)-sum(
                CASE
                    When a.type <> 1 Then a.used_pages
                    When p.index_id < 2 Then a.data_pages
                    Else 0
                END) )* 8192 / 1024.,15,0))
       
    from sys.partitions p, sys.allocation_units a ,sys.sysobjects s
    where p.partition_id = a.container_id        and p.object_id s.id and s.type 'U'    -- tables de type Utilisateur (exclusion des tables système
    group by p.object_id
    order by object_name(p.object_id)

Voilà !

NN
1
Rejoignez-nous