Jednou za čas je potřeba se podívat na to, jak vypadají DB objekty v databázi s ohledem na velikost tabulek (počet řádků a storage).

Jak zkontrolovat velikost tabulek v SQL databázi

Pokud objektů v databázi není mnoho, tak můžeme kontrolu provést přímo ve vlastnostech jednotlivých tabulek v poli Data space a index space. Velikost tabulky je součtem obou hodnot.

Velikost tabulek v databázi - příklad

Pohodlněji a rychleji získáme statistiky velikosti všech tabulek v databázi pomocí skriptu

USE [Vase_Databaze]

SELECT
   tab.Name AS DB_Table,
   par.rows AS Table_RowCounts,
   CAST(ROUND((SUM(alloc.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS Table_MB
FROM sys.tables tab
     INNER JOIN sys.indexes ind
        ON tab.OBJECT_ID = ind.object_id
     INNER JOIN sys.partitions par
        ON ind.object_id = par.OBJECT_ID
        AND ind.index_id = par.index_id
     INNER JOIN sys.allocation_units alloc
        ON par.partition_id = alloc.container_id
GROUP BY
   tab.Name,
   par.rows
ORDER BY SUM(alloc.total_pages) DESC;

Výsledkem skriptu jsou všechny tabulky v databázi, dále počet řádků v tabulkách a také velikost, kterou tabulka zabírá na disku v MB.

5/5 - (1 vote)

Jan Zedníček - Data & Finance

Jmenuji se Honza Zedníček a působím jako freelancer. Tuto práci dělám pro různé firmy již přes 10 let. Před tím jsem dlouhou dobu pracoval také jako BI developer, finanční controller, analytik a krátce jako finanční manažer. Vše pro společnosti z oblasti IT, bankovnictví a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti a názory se snažím už několik let zapisovat na tento web, aby sloužily i někomu dalšímu - zejména studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

=> Přihlašte se do naší Excel facebook skupiny (1.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »
=> Pokud vám článek pomohl, sdílejte ho nebo mě uveďte na vašich webových stránkách jako užitečný zdroj informací.

Leave a Reply

Your email address will not be published. Required fields are marked *