2010-03-11 11 views
11

Ist es möglich, herauszufinden, wie groß die Daten in KB oder MB für einzelne Spalten in einer Tabelle sind? Ich habe ein Skript, das mir die physikalische Größe jeder Tabelle sagt, aber ich würde gerne wissen, wie viel davon von bestimmten Spalten in der Datenbank eingenommen wird, besonders wenn ich XML in einer Spalte gespeichert habe.SQL Server Ermitteln der physischen Größe von Tabellenspalten

Jede Hilfe sehr geschätzt

Prost

+0

Nicht zu meinem Wissen, sorry. Selten gewollt. Für andere, die dies beantworten möchten - welche Version von SQL Server verwenden Sie - kann hier relevant sein. – TomTom

+0

Dies ist für SQL Server 2005 – andyJ

Antwort

20

Sie sollten die datalength Funktion, so etwas wie

select sum(datalength(yourfield)) 
from yourtable 

Dies summiert die datalengths aller Einträge dieses Feldes in die verwendet werden können, Tabelle - es berücksichtigt keine Overheads wie Feldzeiger mit variabler Länge, Leerzeichen in der Nullwert-Bitmap usw.

+0

Es sollte beachtet werden, dass dies die Länge in Bytes zurückgibt - ich fand dies für meine Zwecke nützlich. Wählen Sie concat (Summe (Datenlänge (Ihr Feld))/1024, 'kb') von yurtable – ProVega

1

Wählen Sie S aus UM (DATALÄNGE (SpaltenA))/1024.0 AS KB

Verwandte Themen