Script - SQL Server - Retornar o tamanho das tabelas do banco de dados

 Script para SQL Server que retorna o tamanho das tabelas do banco de dados, incluindo:

  • Nome do schema
  • Nome da tabela
  • Número de linhas
  • Tamanho de dados (em MB)
  • Tamanho de índices (em MB)
  • Tamanho total da tabela (em MB)

Script: Tamanho das Tabelas no SQL Server

SELECT s.name AS SchemaName, t.name AS TableName, p.rows AS RowCounts, CAST(ROUND((SUM(a.total_pages) * 8.0) / 1024, 2) AS DECIMAL(10,2)) AS TotalSizeMB, CAST(ROUND((SUM(a.used_pages) * 8.0) / 1024, 2) AS DECIMAL(10,2)) AS UsedSizeMB, CAST(ROUND((SUM(a.data_pages) * 8.0) / 1024, 2) AS DECIMAL(10,2)) AS DataSizeMB, CAST(ROUND(((SUM(a.used_pages) - SUM(a.data_pages)) * 8.0) / 1024, 2) AS DECIMAL(10,2)) AS IndexSizeMB FROM sys.tables t INNER JOIN sys.indexes i ON t.object_id = i.object_id INNER JOIN sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id INNER JOIN sys.schemas s ON t.schema_id = s.schema_id WHERE t.is_ms_shipped = 0 -- ignora tabelas do sistema GROUP BY s.name, t.name, p.rows ORDER BY TotalSizeMB DESC;


Comentários