Checking table sizes in iService

From time to time, its important to evaluate the size of the iService database and evaluate the number of records in certain tables. For instance, if you are planning to run an interaction purge you will want to know how big your tables are.

The query below returns details about the tables within iService and can be helpful in understanding where your database is growing. It outputs the size of all tables in a database. You should run this query against the iService tenant database, not the iService Master database.

 
 
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

© 2019 One-to-One Service.com, Inc.