Dimensioni delle tabelle di un Database in SQL Server

Dimensioni delle tabelle di un Database in SQL Server

Nel post di oggi vedremo come ottenere le Dimensioni delle tabelle di un Database in SQL Server tramite SSMS (SQL Server Management Studio).
Tramite la stored procedure sp_spaceused, messa a disposizione da SQL Server, è possibile visualizzare tutte le informazioni relative ad una tabella, una vista indicizzata o una coda di Service Broker come lo spazio riservato e utilizzato all’interno del database o del disco.


Dimensioni delle tabelle di un Database in SQL Server

sp_spaceused

La stored procedure (sp_spaceused) permette di visualizzare le informazioni richiamandola per ogni singola tabella di cui, però, dobbiamo già conoscere il nome da passargli come parametro.
La si può richiamare in questo modo

Query

Se però abbiamo la necessità di visualizzare la dimensione di tutte le tabelle di uno specifico database, e magari ordinare l’elenco in base alle dimensioni delle tabelle, dobbiamo utilizzare una query più complessa.
Questa è la query che ci permette di visualizzare le dimensioni di tutte le tabelle di un DataBase

Il codice è abbastanza commentato in modo da capire i passaggi che vengono effettuati prima di arrivare ad avere l’elenco delle tabelle con le rispettive dimensioni.

Descrizione della query

Per prima cosa indichiamo il database su cui verrà eseguita la query

Dichiariamo le variabili che verranno utilizzare

Creiamo la tabella temporanea #Tables e la popoliamo con tutti i nomi delle tabelle presenti nel database (recuperati dalla tabella INFORMATION_SCHEMA.TABLES)

Creiamo la tabella temporanea #SpaceUsed e, ciclando la tabella temporanea #Tables, la popoliamo con i valori di ogni singola tabella recuperati tramite la stored procedure sp_spaceused

Ora non ci resta che effettuare una SELECT sulla tabella temporanea #SpaceUsed in modo da visualizzare tutti i dati delle tabelle del database.
Per una migliore interpretazione dei dati convertiamo tutti i valori in GByte e li ordiniamo dalla più grande in modo decrescente

Al termine della select eliminiamo le tabelle temporanee


Dimensioni delle tabelle di un Database in SQL Server

Visualizzazione risultato

Ecco un esempio di utilizzo della query che abbiamo appena visto

esempio di visualizzazione del risultato della query

Per maggiori informazioni sulla stored procedure sp_spaceused vi rimando a questo link

A presto 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *