Is there a way to know the table sizes in the Symantec_CMDB database?
ITMS 8.x
You can run the following query in the SQL Management Studio or create a report from it.
This query shows the following information for all tables larger than 5 KB,
--In SQL Server, the page size is 8 KB, or 128 pages per megabyte
select a2.name [Table], replace(convert (nvarchar, convert(money, a1.rows), 1), '.00','') [Row Count], cast (a1.reserved/128.0/1024 as decimal(9,3)) [Reserved GB], case when a1.reserved = 0 then 0 else cast ((100-(100.0*a1.used/a1.reserved)) as decimal(9,2)) end [Unused %]from ( select ps.object_id, sum (cast (ps.row_count as bigint)) rows, sum (cast (ps.reserved_page_count as bigint)) reserved, sum (cast (ps.used_page_count as bigint)) used from sys.dm_db_partition_stats ps inner join sys.all_objects a2 on a2.object_id = ps.object_id and a2.type IN ('U') group by ps.object_id ) a1
left join sys.all_objects a2 ON a1.object_id = a2.object_idwhere (a1.reserved/128) > 5ORDER BY a1.rows DESC, a2.name
Example results returned:
Another example for this query that you can use:
declare @tablesize table (name nvarchar(200), [rows] nvarchar(100), reserved nvarchar(100), data nvarchar(100), index_size nvarchar(100), unused nvarchar(100))insert into @tablesizeexec sp_MSforeachtable "sp_spaceused '?'"
select name [Name], [rows] [Rows], cast(replace(ts.reserved, ' KB','') as bigint) [Reserved KB], cast(replace(ts.data, ' KB','') as bigint) [Data KB], cast(replace(ts.index_size, ' KB','') as bigint) [Index Size KB], cast(replace(ts.unused, ' KB','') as bigint) [Unused KB]from @tablesize tsorder by 3 desc
Example results from the above query: