Hier ist ein gutes Drehbuch, das ich schamlos von hier gerissen habe :
use [Insert DB Name]
select
a.FILEID,
[FILE_SIZE_MB] =
convert(decimal(12,2),round(a.size/128.000,2)),
[SPACE_USED_MB] =
convert(decimal(12,2),round(fileproperty(a.name, 'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] =
convert(decimal(12,2),round((a.size-fileproperty(a.name, 'SpaceUsed'))/128.000,2)) ,
NAME = left(a.NAME,15),
FILENAME = left(a.FILENAME,30)
from
dbo.sysfiles a
Dies ist gut, da Sie dadurch den freien Speicherplatz in jeder DB-Datei (möglicherweise haben Sie mehrere Dateien und möglicherweise hat jemand diese eingerichtet, um einige Objekte in jede Datei einzufügen) sowie die freie Größe erhalten.
Sie haben beispielsweise eine 4-GB-Datendatei mit 3 GB freiem Speicherplatz. Vielleicht haben Sie 1 MDF ohne viele Daten, aber einen NDF mit vielen Daten. Diese Abfrage gibt Auskunft über die freie Größe in jeder Datei und darüber, welcher Datenbank diese Datei zugeordnet ist. Denken Sie daran, alle 'SPACE_USED_MB' für jede Datenbank zu addieren, um die Gesamtgröße zu erhalten.
Viel Glück!
Bearbeiten:
Ein nicht unterstützter und fehlerhafter Befehl wurde entfernt, von dem ich dachte, ich könnte mit dem Posten hier für diese Abfrage davonkommen. :(