IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Taille toutes tables des db


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut Taille toutes tables des db
    Bonjour a tous,

    je voudrais connaitre la table la plus volumineuse d'un de nos bases de données. Je ne connait pas le catalogue des tables SQL SERVER pour faire la requete.
    Le resultat que je cherche serais quelque chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select table_name, sum(bytes) from table
    where database_name='nom_de_ma_base' order by bytes desc;
    table1 15M
    table2 100M
    table3 etc...

    J'ai trouver ceci sur internet mais ça repond pas exactement a ma demande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sum(max_length) from sys.columns where object_id = object_id('MyTable')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DB_NAME(database_id) AS DatabaseName,
    Name AS Logical_Name,
    Physical_Name, (size*8)/1024 SizeMB
    FROM sys.master_files
    WHERE DB_NAME(database_id) = base_name
    D'avance merci

  2. #2
    Membre chevronné Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Par défaut
    Bonjour, d'après ce site :

    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) AS "Size"
    FROM information_schema.tables
    WHERE table_schema =  'mysql'
    ORDER BY (Size);

    Tu remplace mysql par le nom de ta base.

    EDIT : Je pensais être dans le sous forum MySQL ... cela risque donc de ne pas marcher , désolé.

  3. #3
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    En passant par les vues sys.partitions et sys.allocation_units vous avez toutes les informations nécessaires pour répondre à votre demande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
     OBJECT_NAME(P.[object_id]) AS [object_name],
     SUM(AU.used_pages) AS nb_used_pages
    FROM sys.partitions AS P
    INNER JOIN sys.allocation_units AS AU
     ON P.partition_id = AU.container_id
     GROUP BY P.[object_id]
    ORDER BY SUM(AU.used_pages) DESC
    ++

  4. #4
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Par défaut
    Dans SSMS, click droit sur la DB -> reports -> standard reports -> disk usage by top tables

  5. #5
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Citation Envoyé par Ptit_Dje Voir le message
    Dans SSMS, click droit sur la DB -> reports -> standard reports -> disk usage by top tables
    Aussi mais chez moi ce rapport affiche les top tables qui consomment le plus d'espace disque mais non pas dans un scope d'une base mais dans le scope de l'instance SQL Server mais si j'exécute ce rapport depuis la base de données concernée (qui s'affiche bien dans le rapport).

    ++

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut
    Salut a tous
    ok la requete donne le resultat esperé.
    Super!!
    Merci et bon lundi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] Supprimer tout un paragraphe depuis la table des matières
    Par Hindioumax dans le forum VBA Word
    Réponses: 6
    Dernier message: 23/03/2014, 10h13
  2. Réponses: 0
    Dernier message: 08/03/2012, 16h41
  3. [PPT-2007] Une table des matières sur toutes les diapositives
    Par capita789 dans le forum Powerpoint
    Réponses: 2
    Dernier message: 20/11/2011, 09h15
  4. table des matières et titres de sections tout en couleur
    Par K Id Panther dans le forum Mise en forme
    Réponses: 7
    Dernier message: 01/05/2008, 14h33
  5. [Beamer] Table des matières de taille variable
    Par jacklafrip dans le forum Beamer
    Réponses: 1
    Dernier message: 25/08/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo