Delen via


sys.dm_os_volume_stats (Transact-SQL)

van toepassing op:SQL Server-

Retourneert informatie over het besturingssysteemvolume (map) waarop de opgegeven databases en bestanden worden opgeslagen in SQL Server. Gebruik deze functie voor dynamisch beheer om de kenmerken van het fysieke schijfstation te controleren of beschikbare vrije ruimte-informatie over de map te retourneren.

Transact-SQL syntaxisconventies

Syntaxis

sys.dm_os_volume_stats (database_id , file_id)

Argumenten

database_id

Id van de database. database_id is int, zonder standaardinstelling. Kan niet worden NULL.

file_id

Id van het bestand. file_id is int, zonder standaardinstelling. Kan niet worden NULL.

Tabel geretourneerd

Kolom Gegevenstype Beschrijving
database_id Id van de database. Niet nullable.
file_id Id van het bestand. Niet nullable.
volume_mount_point nvarchar(512) Koppelpunt waarop het volume is geroot. Kan een lege tekenreeks retourneren. Retourneert null in Linux.
volume_id nvarchar(512) Volume-id van besturingssysteem. Kan een lege tekenreeks retourneren. Retourneert null in Linux.
logical_volume_name nvarchar(512) Naam van logisch volume. Kan een lege tekenreeks retourneren. Retourneert null in Linux.
file_system_type nvarchar(512) Type bestandssysteemvolume (bijvoorbeeld NTFS, FAT, RAW). Kan een lege tekenreeks retourneren. Retourneert null in Linux.
total_bytes grote Totale grootte in bytes van het volume. Niet nullable.
available_bytes grote Beschikbare vrije ruimte op het volume. Niet nullable.
supports_compression kleine Geeft aan of het volume compressie van het besturingssysteem ondersteunt. Niet nullable in Windows en retourneert null in Linux.
supports_alternate_streams kleine Geeft aan of het volume alternatieve streams ondersteunt. Niet nullable in Windows en retourneert null in Linux.
supports_sparse_files kleine Geeft aan of het volume sparse-bestanden ondersteunt. Niet nullable in Windows en retourneert null in Linux.
is_read_only kleine Geeft aan of het volume momenteel is gemarkeerd als alleen-lezen. Niet nullable.
is_compressed kleine Geeft aan of dit volume momenteel is gecomprimeerd. Niet nullable in Windows en retourneert null in Linux.
incurs_seek_penalty kleine Geeft het type opslag aan dat dit volume ondersteunt. Mogelijke waarden zijn:

0: geen boete voor dit volume zoeken, meestal wanneer het opslagapparaat PMM of SSD is

1: Zoek een boete op dit volume, meestal wanneer het opslagapparaat HDD is

2: het opslagtype kan niet worden bepaald wanneer het volume zich op een UNC-pad of gekoppelde shares bevindt

NULL: het opslagtype kan niet worden bepaald op het Linux-besturingssysteem

Van toepassing op: SQL Server 2019 (15.x) en latere versies

Machtigingen

SQL Server 2019 (15.x) en eerdere versies vereisen VIEW SERVER STATE machtiging op de server.

VOOR SQL Server 2022 (16.x) en latere versies is VIEW SERVER PERFORMANCE STATE machtiging op de server vereist.

Voorbeelden

Een. Totale ruimte en beschikbare ruimte voor alle databasebestanden retourneren

In het volgende voorbeeld wordt de totale ruimte en beschikbare ruimte (in bytes) geretourneerd voor alle databasebestanden in het exemplaar van SQL Server.

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. Totale ruimte en beschikbare ruimte voor de huidige database retourneren

In het volgende voorbeeld wordt de totale ruimte en beschikbare ruimte (in bytes) voor de databasebestanden in de huidige database geretourneerd.

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.file_id);