grzech.webio.pl


.. kolejny blog w sieci (głównie na własne potrzeby)


Zliczenie ilości rekordów i zajętości we wszystkich tabelach danej bazy danych

SELECT      t.NAME AS TableName,     p.rows AS RowCounts,     SUM(a.total_pages) * 8 AS TotalSpaceKB,      SUM(a.used_pages) * 8 AS UsedSpaceKB,      (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB 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 t.is_ms_shipped = 0     AND i.OBJECT_ID > 255  GROUP BY      t.Name, p.Rows ORDER BY      t.Name  Źródło: http://stackoverflow.com/questions/7892334/get-size-of-all-tables-in-database