Tabellengroesse.sql 1.2 KB

1234567891011121314151617181920212223
  1. SET QUOTED_IDENTIFIER ON
  2. GO
  3. SET ANSI_NULLS ON
  4. GO
  5. Create View [dbo].[Tabellengroesse] AS
  6. SELECT TOP (100) PERCENT t.name AS TableName, s.name AS SchemaName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, CAST(ROUND(SUM(a.total_pages) * 8 / 1024.00, 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
  7. 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,
  8. CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) * 8 / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
  9. FROM sys.tables AS t INNER JOIN
  10. sys.indexes AS i ON t.object_id = i.object_id INNER JOIN
  11. sys.partitions AS p ON i.object_id = p.object_id AND i.index_id = p.index_id INNER JOIN
  12. sys.allocation_units AS a ON p.partition_id = a.container_id LEFT OUTER JOIN
  13. sys.schemas AS s ON t.schema_id = s.schema_id
  14. WHERE (t.name NOT LIKE 'dt%') AND (t.is_ms_shipped = 0) AND (i.object_id > 255)
  15. GROUP BY t.name, s.name, p.rows
  16. GO
  17. SET QUOTED_IDENTIFIER OFF
  18. GO
  19. SET ANSI_NULLS OFF
  20. GO
  21. GO