sys.dm_os_volume_stats (Transact-SQL)
Gibt Informationen zum Systemvolume des Betriebssystems (Verzeichnis) zurück, auf dem die angegebenen Datenbanken und Dateien gespeichert sind. Verwenden Sie diese dynamische Verwaltungsfunktion in SQL Server 2008 R2 SP1 und höheren Versionen, um die Attribute des physischen Datenträgers zu überprüfen oder um Informationen zum verfügbaren freien Speicherplatz für das Verzeichnis zurückzugeben.
Syntax
sys.dm_os_volumne_stats (database_id, file_id)
Argumente
database_id
Die ID der Datenbank. database_id ist vom Datentyp int und hat keinen Standardwert. NULL ist nicht zulässig.file_id
Die ID der Datei. file_id ist vom Datentyp int und hat keinen Standardwert. NULL ist nicht zulässig.
Zurückgegebene Tabelle
Spalte |
Datentyp |
Beschreibung |
database_id |
int |
ID der Datenbank. Darf nicht NULL sein. |
file_id |
int |
Die ID der Datei. Darf nicht NULL sein. |
volume_mount_point |
nvarchar(512) |
Der Einbindungspunkt, der das Stammverzeichnis des Volumes darstellt. Kann eine leere Zeichenfolge zurückgeben. |
volume_id |
nvarchar(512) |
Volume-ID des Betriebssystems. Kann eine leere Zeichenfolge zurückgeben |
logical_volume_name |
nvarchar(512) |
Name des logischen Volumes. Kann eine leere Zeichenfolge zurückgeben |
file_system_type |
nvarchar(512) |
Dateisystemtyp des Volumes (z. B. NTFS, FAT, RAW). Kann eine leere Zeichenfolge zurückgeben |
total_bytes |
bigint |
Die Gesamtgröße des Volumes in Bytes. Darf nicht NULL sein. |
available_bytes |
bigint |
Verfügbarer freier Speicherplatz auf dem Volume. Darf nicht NULL sein. |
supports_compression |
bit |
Gibt an, ob das Volume eine Komprimierung durch das Betriebssystem unterstützt. Darf nicht NULL sein. |
supports_alternate_streams |
bit |
Gibt an, ob das Volume alternative Datenströme unterstützt. Darf nicht NULL sein. |
supports_sparse_files |
bit |
Gibt an, ob das Volume Dateien mit geringer Dichte unterstützt. Darf nicht NULL sein. |
is_read_only |
bit |
Gibt an, ob das Volume derzeit als schreibgeschützt gekennzeichnet ist. Darf nicht NULL sein. |
is_compressed |
bit |
Gibt an, ob dieses Volume derzeit komprimiert ist. Darf nicht NULL sein. |
Sicherheit
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung.
Beispiele
A. Zurückgeben des gesamten und des verfügbaren freien Speicherplatzes für alle Datenbankdateien
Im folgenden Beispiel werden der gesamte Speicherplatz und der verfügbare freie Speicherplatz (in Bytes) für alle Datenbankdateien in der Instanz von SQL Server zurückgegeben.
SELECT f.database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.master_files AS f
CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id);
B. Zurückgeben des gesamten und des verfügbaren freien Speicherplatzes für die aktuelle Datenbank
Im folgenden Beispiel werden der gesamte Speicherplatz und der verfügbare freie Speicherplatz (in Bytes) für die Datenbankdateien der aktuellen Datenbank zurückgegeben.
SELECT database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.database_files AS f
CROSS APPLY sys.dm_os_volume_stats(DB_ID(f.name), f.file_id);