Visualizzare lo spazio occupato dalle tabelle in SQL Server

Mattepuffo's logo
Visualizzare lo spazio occupato dalle tabelle in SQL Server

Visualizzare lo spazio occupato dalle tabelle in SQL Server

Per visualizzare lo spazio occupato dalle tabelle in SQL Server abbiamo almeno due possibilità.

La prima prevede l'uso dei reports di SQL Managament Studio.

Cliccate con il tasto destro sul vostro database.

Poi andate su Reports -> Standard Reports -> Disk Usage by Top Tables.

Vi uscirà una schermata con varie informazioni.

Volendo possiamo anche eseguire una query, nel caso volessimo visualizzare i risultati in altre applicazioni ad esempio:

SELECT t.name AS NomeTabella,
        s.name AS NomeSchema,
        p.rows,
        CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS SpazioRiservatoMB,
        CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS SpazioUsatoMB,
        CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS SpazioNonUsatoMB
    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
    LEFT OUTER JOIN
        sys.schemas s ON t.schema_id = s.schema_id
    WHERE
        t.name NOT LIKE 'dt%'
        AND t.is_ms_shipped = 0
        AND i.object_id > 255
    GROUP BY
        t.name, s.name, p.rows
    ORDER BY
        SpazioRiservatoMB DESC, t.name

Enjoy!


Condividi

Commentami!