CREATE TABLE #GetLargest 

(
  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 #GetLargest



EXEC sp_msforeachtable 'sp_spaceused ''?'''

SELECT
  a.table_name,
  a.row_count,
  COUNT(*) AS col_count,
  a.data_size
 
  FROM #GetLargest 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 #GetLargest

Comments est propulsé par CComment

Nous utilisons des cookies sur notre site web. Certains d’entre eux sont essentiels au fonctionnement du site et d’autres nous aident à améliorer ce site et l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, vous risquez de ne pas pouvoir utiliser l’ensemble des fonctionnalités du site.