SQL Server - Lister toutes les tables d'une base de données avec une requête





11-09-2016, 02:37 PM
Message : #1

SQL Server - Lister toutes les tables d'une base de données avec une requête


Sous SQL Server, comment lister toutes les tables d'une base de données ?
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
11-09-2016, 03:07 PM
Message : #2

RE: SQL Server - Lister toutes les tables d'une base de données avec une requête


Pour lister toutes les tables d'une base de données SQL Server, plusieurs solutions sont possibles.



Code :
/* Utiliser information_schema.tables    */
select *    from information_schema.tables
where        table_type='base table'

/* Utiliser sys.tables                */
select *    from sys.tables     

/* Utiliser sys.tables, sys.indexes, sys.partitions, sys.allocation_units et sys.schemas pour afficher la taille des tables ou autres objets */
select    sch.name as schemaname,
        tab.name as tablename,
        par.rows as rowcounts,
        sum(alc.total_pages) * 8     as total_space,
        sum(alc.used_pages) * 8     as used_space,
        (sum(alc.total_pages) - sum(alc.used_pages)) * 8 as unused_space
from                 sys.tables                tab
    inner join        sys.indexes                ind on tab.object_id = ind.object_id
    inner join        sys.partitions            par on ind.object_id = par.object_id and ind.index_id = par.index_id
    inner join        sys.allocation_units    alc on par.partition_id = alc.container_id
    left outer join sys.schemas                sch on tab.schema_id = sch.schema_id
group by    tab.name, sch.name, par.rows
order by    1,2

-- A noter : le Order by 1,2,3 permet de trier par Shéma puis par nom de table
-- La taille des tables est notée en Kilo-Octets
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse


Articles ou discussions similaires
Créer un Role de sécurité SQL Server seulement si il n'existe pas dans la base
Quelle est la syntaxe de la clause CROSS APPLY avec SQL Server
SQL Server 2012 base de données source en statut Restoring après copie
SQL Server 2012 comment copier une base de données sur le même serveur?
SQL Server 2012 - Supprimer le texte de création requête Script for SelectTopNRows
SQL Server Management Studio Comment lancer juste la requête ou le curseur est placé?
SQL Server 2012 - Erreur de copie de base Login timeout expired
SQL Server - supprimer une base et les fichiers .MDF, .LDF et .BAK ?