SQL Server: zobrazení počtu řádků, sloupců, velikosti tabulek v KB přes všechny tabulky v databázi

Úžasný script pro zobrazení přehledných statistický informací o databázi, zejména pokud hledáte největší tabulky v neznámé struktuře databáze:

image

[more]

USE DatabaseName 
GO 
CREATE TABLE #temp ( 
table_name sysname , 
row_count INT, 
reserved_size VARCHAR(50), 
data_size VARCHAR(50), 
index_size VARCHAR(50), 
unused_size VARCHAR(50)) 
SET NOCOUNT ON 
INSERT #temp 
EXEC sp_msforeachtable 'sp_spaceused ''?''' 
SELECT a.table_name, 
a.row_count, 
COUNT(*) AS col_count, 
a.data_size 
FROM #temp a 
INNER JOIN information_schema.columns b 
ON a.table_name collate database_default 
= b.table_name collate database_default 
GROUP BY a.table_name, a.row_count, a.data_size 
ORDER BY CAST(REPLACE(a.data_size, ' KB', '') AS integer) DESC 
DROP TABLE #temp

 

Zdroj:

http://blog.sqlauthority.com/2007/01/10/sql-server-query-to-find-number-rows-columns-bytesize-for-each-table-in-the-current-database-find-biggest-table-in-database/

  1. Pavel Novotný napsal:

    Nekritizujete, já díky za link. Já jsem to potřeboval na DB kde nejsou schémata, takže jsem si s tím svým vystačil.

  2. Nuninek napsal:

    Zdravim nemate nekdo ten script co ma byt uveden pod linkem ktery poslal Miroslav, link je jiz nefunkcni a potrebuji zjistit velikost DB a zbyvajici misto. Diky Vlada

Napsat komentář