Hoppa till innehåll

Sida 1 av 1
  • Du kan inte starta en ny tråd
  • Du kan inte svara i tråden

Ta fram antal rader och storlek av tabeller i en SQL-serverdatabas

#1
Medlem är utloggad   TSH 

  • Flitig
  • PipPipPipPip
  • Grupp: Medlemmar
  • Inlägg: 565
  • Gick med: 2004-06-16

Skrivet 13 okt 2010, 21:45

Hur får man fram antal rader i tabeller och storleken på tabellerna i en SQL-serverdatabas. (SQL2005 och SQL2008)?
Skulle vilja ha ett skript som listar enlig nedan:
Tabellnamn, Antal rader, Storlek
Tabell A, 15225, 15
Tabell B, 2889, 3
Osv.

/Tsh
Tsh
0

#2

  • Systemutvecklare .Net
  • PipPipPipPipPipPip
  • Grupp: Medlemmar
  • Inlägg: 20 270
  • Gick med: 2003-05-07
  • Ort:Solna

Skrivet 13 okt 2010, 22:08

Tror det här ska funka i 2005:an också

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

"There is nothing more permanent than a temporary solution"
1
Sida 1 av 1
  • Du kan inte starta en ny tråd
  • Du kan inte svara i tråden

1 besökare läser just nu den här tråden, varav 0 medlem(mar) och 1 gäst(er)
 
 
Senast obesvarade trådar
Prenumerera på nyheter

Missa inte våra nya
smarta nyhetsbrev

Läs mer om nyhetsbreven här!
Beställ direkt:


Extreme
PC för Alla-nätverket