Tabellengroesse.sql 1.2 KB

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