Tabellengroesse.sql 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  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,
  8. s.name AS SchemaName,
  9. p.rows AS RowCounts,
  10. SUM(a.total_pages) * 8 AS TotalSpaceKB,
  11. CAST(ROUND(SUM(a.total_pages) * 8 / 1024.00, 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
  12. SUM(a.used_pages) * 8 AS UsedSpaceKB,
  13. CAST(ROUND(SUM(a.used_pages) * 8 / 1024.00, 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
  14. (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
  15. CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) * 8 / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
  16. FROM sys.tables AS t
  17. INNER JOIN sys.indexes AS i ON t.object_id = i.object_id
  18. INNER JOIN sys.partitions AS p ON i.object_id = p.object_id
  19. AND i.index_id = p.index_id
  20. INNER JOIN sys.allocation_units AS a ON p.partition_id = a.container_id
  21. LEFT OUTER JOIN sys.schemas AS s ON t.schema_id = s.schema_id
  22. WHERE (t.name NOT LIKE 'dt%')
  23. AND (t.is_ms_shipped = 0)
  24. AND (i.object_id > 255)
  25. GROUP BY t.name,
  26. s.name,
  27. p.rows
  28. GO
  29. SET QUOTED_IDENTIFIER OFF
  30. GO
  31. SET ANSI_NULLS OFF
  32. GO
  33. GO