Preskočiť na obsah
Skript

Počet riadkov a veľkosť tabuliek (z metadát)

Približný počet riadkov a rezervované / použité MB každej tabuľky bez drahého COUNT(*).

pocet-riadkov-a-velkost-tabuliek-z-metadat.sql 16 riadkov · T-SQL
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | Počet riadkov a veľkosť tabuliek (z metadát)
   Účel:  Približný počet riadkov a rezervované / použité MB každej tabuľky bez drahého COUNT(*).
   Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;

SELECT SCHEMA_NAME(t.schema_id) AS schema_name, t.name AS table_name,
       SUM(ps.row_count) AS approx_rows,
       CAST(SUM(ps.reserved_page_count)*8.0/1024 AS decimal(18,1)) AS reserved_mb,
       CAST(SUM(ps.used_page_count)*8.0/1024 AS decimal(18,1)) AS used_mb
FROM sys.tables AS t
JOIN sys.dm_db_partition_stats AS ps ON ps.object_id=t.object_id
WHERE ps.index_id IN (0,1)
GROUP BY t.schema_id,t.name
ORDER BY reserved_mb DESC;
## Kedy použiť

Pri inventarizácii databázy, plánovaní migrácie alebo pred archiváciou dát.

## Ako čítať výsledok

`approx_rows` pochádza z partition stats (heap alebo clustered index), `reserved_mb` a `used_mb` sú za heap / clustered index **bez** nonclustered indexov.

> [!WARNING]
> Počet riadkov je približný. Na presný audit použi `COUNT_BIG(*)` na konkrétnu tabuľku a počítaj s I/O nákladom.

**Oprávnenia:** `VIEW DATABASE STATE` (na SQL Server 2022 stačí aj `VIEW DATABASE PERFORMANCE STATE`). Spúšťa sa v cieľovej databáze.  
**Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022

## Súvisiace recepty

- [Veľkosť databáz a dátových súborov](script.php?id=2&s=velkost-databaz-a-datovych-suborov)