Pouvons-nous avoir une requête SQL qui aidera essentiellement à visualiser les tailles de table et d'index dans SQl Server.
Comment SQL Server gère l'utilisation de la mémoire pour les tables / index?
sql-server
Kamal Joshi
la source
la source
sp_helpdb
utileRéponses:
Le
exec sp_spaceused
paramètre sans affiche le résumé de l'ensemble de la base de données. La solution foreachtable génère un ensemble de résultats par table - que SSMS ne pourra peut-être pas gérer si vous avez trop de tables.J'ai créé un script qui collecte les informations de la table via
sp_spaceused
et affiche un résumé dans un seul jeu d'enregistrements, trié par taille.la source
#
.sp_spaceused vous donne la taille de tous les index combinés.
Si vous voulez la taille de chaque index pour une table, utilisez l'une de ces deux requêtes:
Les résultats sont généralement légèrement différents, mais à moins de 1%.
la source
Msg 102, Level 15, State 1, Line 5 - Incorrect syntax near '('.
me jette , mais je ne vois aucun problème avec la syntaxe. Une idée?Sur SQL 2012, obtenir ces informations au niveau d'une table est devenu délicieusement simple:
SQL Management Studio -> Faites un clic droit sur Db -> Rapports -> Rapports standard -> Utilisation du disque par table!
Prendre plaisir
la source
la source
{ }
) dans la barre d'outils de l'éditeur pour bien le formater et la mettre en évidence!la source
Voici une version plus compacte de la réponse la plus réussie:
la source
ça fait longtemps que ce post a été créé mais je voulais partager mon script:
cela fonctionne pour:
la source
Il existe une procédure stockée étendue
sp_spaceused
qui extrait ces informations. Il est assez compliqué de le faire à partir du dictionnaire de données, mais Ce lien se déploie vers un script qui le fait. Cette question de stackoverflow contient des informations sur les structures de données sous-jacentes que vous pouvez utiliser pour construire des estimations de la taille des tables et des index pour la planification des capacités.la source
Cette requête provient de deux autres réponses:
Obtenir la taille de toutes les tables de la base de données
Comment trouver les objets les plus volumineux dans une base de données SQL Server?
, mais j'ai amélioré cela pour qu'il soit universel. Il utilise un
sys.objects
dictionnaire:la source