sys.dm_os_volume_stats (Transact-SQL)
Gibt Informationen zum Volume des Betriebssystems (Verzeichnis) zurück, auf dem die angegebenen Datenbanken und Dateien in SQL Server 2012 gespeichert sind. Verwenden Sie diese dynamische Verwaltungsfunktion, um die Attribute des physischen Datenträgers zu überprüfen oder um Informationen zum verfügbaren freien Speicherplatz für das Verzeichnis zurückzugeben.
Transact-SQL-Syntaxkonventionen
Syntax
sys.dm_os_volume_stats (database_id, file_id)
Argumente
database_id
Die ID der Datenbank. database_id ist int und hat keinen Standardwert. Darf nicht NULL sein.file_id
Die ID der Datei. file_id ist int und hat keinen Standardwert. Darf nicht NULL sein.
Zurückgegebene Tabelle
Spalte |
Datentyp |
Beschreibung |
database_id |
int |
Die 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 Byte) 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);