Se si ha la ncessità di trovare il numero di righe, colonne, dimensioni in byte di tutte le tabelle all'interno di un database senza dover aprire ogni tabella a mano, si può utilizzare lo script qui sotto, che interrogando le tabelle di sistema popola una tabella temporanea con tutti i dati sopra riportati.
CREATE TABLE #temp (
table_name sysname ,
row_count int,
reserved_size varchar(50),
data_size varchar(50),
index_size varchar(50),
unused_size varchar(50))
SET NOCOUNT ON
INSERT #temp
EXEC sp_msforeachtable 'sp_spaceused ''?'''
SELECT a.table_name,
a.row_count,
count(*) as col_count,
a.data_size
FROM #temp a
INNER JOIN information_schema.columns b
ON a.table_name collate database_default
= b.table_name collate database_default
GROUP BY a.table_name, a.row_count, a.data_size
ORDER BY CAST(Replace(a.data_size, ' KB', '') as integer) desc
DROP TABLE #temp