Lijst tabellen en aantal rijen in SQL Server

25-09-2012 | Marcel van Langen | SQL Server | sql server, pages, extents, table, row, count

Voor een project was binnen de webtoepassing een actueel overzicht gewenst van alle tabellen uit de SQL Server database, inclusief het aantal rijen per tabel. Gelukkig biedt SQL Server (vanaf versie 2005) allerhande mogelijkheden om dit op te vragen. In dit artikel laten we je zien met welke query je deze informatie overzichtelijk boven tafel krijgt!

De vraag is eenvoudig: geef me een overzicht van alle tabellen met het aantal rijen per tabel. Je kunt hiervoor de sysindexes tabel gebruiken. Deze tabel is weliswaar niet compleet up to date, maar geeft niettemin een goed beeld van de beschikbare tabellen en het aantal rijen per tabel. Gebruik de volgende query om deze gegevens boven tafel te krijgen:

SELECT
t.NAME AS TabelNaam,
i.name as IndexNaam,
p.[Rows],
sum(a.total_pages) as PagesTotaal,
sum(a.used_pages) as PagesInGebruik,
sum(a.data_pages) as PagesData,
(sum(a.total_pages) * 8) / 1024 as TotaalRuimteMb,
(sum(a.used_pages) * 8) / 1024 as GebruiktRuimteMb,
(sum(a.data_pages) * 8) / 1024 as DataRuimteMb
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
i.OBJECT_ID > 255 AND
i.index_id <= 1
GROUP BY
t.NAME, i.object_id, i.index_id, i.name, p.[Rows]
ORDER BY
object_name(i.object_id)

Op zich heb je alleen TabelNaam en Rows nodig, maar met de aanvullende gegevens krijg je ook meteen inzicht in het gebruik van het geheugen en schijfruimte. Op deze manier kun je snel de grootverbruikers onder de tabellen eruit halen!

Over Morloff

Morloff ontwerpt en realiseert succesvolle webtoepassingen op het gebied van procesoptimalisatie, eCommerce en rapportage door de inzet van moderne webtechnieken, sociale media en zoekmachine optimalisatie.

over ons | diensten | portfolio | contact | route

naar website IJsmonster.nl naar website ICT intermediairs naar website marcelvanlangen.com

Twitter

Morloff

Cuneraweg 169a
3911 RH Rhenen

M +31 (0)6 - 515 96 189
W www.morloff.nl
E contactformulier

Morloff op Twitter Morloff op Facebook Morloff op LinkedIn Morloff via RSS