Eu uso esse script SQL (que recebi de alguém em algum lugar - não consigo reconstruir de quem ele veio) há séculos e isso me ajudou a entender e determinar o tamanho de índices e tabelas:
SELECT
t.name AS TableName,
i.name as indexName,
sum(p.rows) as RowCounts,
sum(a.total_pages) as TotalPages,
sum(a.used_pages) as UsedPages,
sum(a.data_pages) as DataPages,
(sum(a.total_pages) * 8) / 1024 as TotalSpaceMB,
(sum(a.used_pages) * 8) / 1024 as UsedSpaceMB,
(sum(a.data_pages) * 8) / 1024 as DataSpaceMB
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
WHERE
t.name NOT LIKE 'dt%' AND
i.object_id > 255 AND
i.index_id <= 1
GROUP BY
t.name, i.object_id, i.index_id, i.name
ORDER BY
object_name(i.object_id)
Obviamente, você pode usar outro critério de pedido, por exemplo,
ORDER BY SUM(p.rows) DESC
para obter as tabelas com mais linhas ou
ORDER BY SUM(a.total_pages) DESC
para obter as tabelas com mais páginas (8K blocos) usadas.
SELECT OBJECT_SCHEMA_NAME(i.object_id) + '.' + OBJECT_NAME(i.object_id) AS TableName, ...
No SQL Server 2008, você também pode executar o relatório padrão Uso de Disco pelas Principais Tabelas. Isso pode ser encontrado clicando com o botão direito do mouse no banco de dados, selecionando Relatórios-> Relatórios padrão e selecionando o relatório que você deseja.
fonte
Esta consulta ajuda a encontrar a maior tabela em sua conexão.
fonte
Você também pode usar o seguinte código:
fonte
Se você estiver usando o Sql Server Management Studio 2008, existem determinados campos de dados que podem ser exibidos na janela de detalhes do explorador de objetos. Basta procurar e selecionar a pasta de tabelas. Na exibição de detalhes, você pode clicar com o botão direito do mouse nos títulos das colunas e adicionar campos ao "relatório". Sua milhagem pode variar se você estiver no SSMS 2008 express.
fonte
Encontrei esta consulta também muito útil no SqlServerCentral, aqui está o link para a postagem original
Tabelas maiores do Sql Server
No meu banco de dados, eles deram resultados diferentes entre esta consulta e a 1ª resposta.
Espero que alguém ache útil
fonte
A resposta de @ marc_s é muito boa e eu a uso há alguns anos. No entanto, notei que o script perde dados em alguns índices columnstore e não mostra uma imagem completa. Por exemplo, quando você faz uma
SUM(TotalSpace)
comparação com o script e o compara com a propriedade de banco de dados de espaço total no Management Studio, os números não correspondem no meu caso (o Management Studio mostra números maiores). Modifiquei o script para superar esse problema e o estendi um pouco:Espero que seja útil para alguém. Este script foi testado em grandes bancos de dados de toda a TB com centenas de tabelas, índices e esquemas diferentes.
fonte