sys.dm_os_volume_stats (Transact-SQL)
Gilt für:SQL Server
Gibt Informationen zum Betriebssystemvolume (Verzeichnis) zurück, auf dem die angegebenen Datenbanken und Dateien in SQL Server 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 vom Datentyp intund hat keinen Standardwert. Lässt keine NULL-Werte zu.
file_id
Die ID der Datei. file_id ist vom Datentyp intund hat keinen Standardwert. Lässt keine NULL-Werte zu.
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. Gibt null unter Linux-Betriebssystem zurück. |
volume_id | nvarchar(512) | Die ID des Betriebssystemvolumes. Kann eine leere Zeichenfolge zurückgeben. Gibt null unter Linux-Betriebssystem zurück. |
logical_volume_name | nvarchar(512) | Der Name des logischen Volumes. Kann eine leere Zeichenfolge zurückgeben. Gibt null unter Linux-Betriebssystem zurück. |
file_system_type | nvarchar(512) | Der Typ des Dateisystemvolumes (z. B. NTFS, FAT, RAW). Kann eine leere Zeichenfolge zurückgeben. Gibt null unter Linux-Betriebssystem zurück. |
total_bytes | bigint | Die Gesamtgröße des Volumes in Bytes. Darf nicht NULL sein. |
available_bytes | bigint | Der verfügbare freie Speicherplatz auf dem Volume. Darf nicht NULL sein. |
supports_compression | tinyint | Gibt an, ob das Volume eine Komprimierung durch das Betriebssystem unterstützt. Kann unter Windows nicht NULL sein und gibt null unter Linux-Betriebssystem zurück. |
supports_alternate_streams | tinyint | Gibt an, ob das Volume alternative Datenströme unterstützt. Kann unter Windows nicht NULL sein und gibt null unter Linux-Betriebssystem zurück. |
supports_sparse_files | tinyint | Gibt an, ob das Volume Sparsedateien unterstützt. Kann unter Windows nicht NULL sein und gibt null unter Linux-Betriebssystem zurück. |
is_read_only | tinyint | Gibt an, ob das Volume derzeit als schreibgeschützt gekennzeichnet ist. Darf nicht NULL sein. |
is_compressed | tinyint | Gibt an, ob dieses Volume derzeit komprimiert ist. Kann unter Windows nicht NULL sein und gibt null unter Linux-Betriebssystem zurück. |
incurs_seek_penalty | tinyint | Gibt den Typ des Speichers an, der dieses Volume unterstützt. Mögliche Werte: 0: Keine Suchstrafe für dieses Volume, in der Regel, wenn das Speichergerät PMM oder SSD ist 1: Fordern Sie eine Strafe für dieses Volume an, in der Regel, wenn das Speichergerät hdd ist 2: Der Speichertyp kann nicht bestimmt werden, wenn sich das Volume in einem UNC-Pfad oder eingebundenen Freigaben befindet. NULL: Der Speichertyp kann unter Linux-Betriebssystem nicht bestimmt werden. Gilt für: SQL Server (ab SQL Server 2019 (15.x)) |
Sicherheit
Berechtigungen
Erfordert die VIEW SERVER STATE
-Berechtigung.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Beispiele
A. Zurückgeben des gesamten und des verfügbaren freien Speicherplatzes für alle Datenbankdateien
Im folgenden Beispiel wird der gesamt verfügbare 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);
Weitere Informationen
sys.master_files (Transact-SQL)
sys.database_files (Transact-SQL)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für