49 lines
2.1 KiB
SQL
49 lines
2.1 KiB
SQL
SELECT t.name AS TableName,
|
|
s.name AS SchemaName,
|
|
-- [i].[name] AS indexName,
|
|
MAX([p].[rows]) AS [rowCount],
|
|
SUM([a].[total_pages]) * 8 AS TotalSpaceKB,
|
|
CAST(ROUND(((SUM([a].[total_pages]) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
|
|
SUM([a].[used_pages]) * 8 AS UsedSpaceKB,
|
|
CAST(ROUND(((SUM([a].[used_pages]) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
|
|
(SUM([a].[total_pages]) - SUM([a].[used_pages])) * 8 AS UnusedSpaceKB,
|
|
CAST(ROUND(((SUM([a].[total_pages]) - SUM([a].[used_pages])) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
|
|
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]
|
|
LEFT OUTER JOIN sys.schemas s
|
|
ON t.schema_id = s.schema_id
|
|
WHERE i.object_id > 255
|
|
-- AND i.index_id IN ( 0, 1 ) --0=heap, 1= clustered
|
|
AND t.name NOT LIKE 'dt%'
|
|
AND t.name LIKE '%'
|
|
AND [t].[is_ms_shipped] = 0
|
|
AND i.object_id > 255
|
|
GROUP BY t.name,
|
|
s.name
|
|
ORDER BY [TotalSpaceMB] DESC
|
|
|
|
RETURN
|
|
|
|
SELECT t.name AS TableName,
|
|
MAX([p].[rows]) AS RowCounts,
|
|
(SUM([a].[total_pages]) * 8) / 1024.0 AS TotalSpaceMB,
|
|
(SUM([a].[used_pages]) * 8) / 1024.0 AS UsedSpaceMB,
|
|
(SUM([a].[data_pages]) * 8) / 1024.0 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 i.object_id > 255
|
|
AND i.index_id IN ( 0, 1 )
|
|
GROUP BY t.name
|
|
ORDER BY TotalSpaceMB DESC; |