sys.dm_os_volume_stats (Transact-SQL)
gäller för:SQL Server
Returnerar information om operativsystemets volym (katalog) där de angivna databaserna och filerna lagras i SQL Server. Använd den här dynamiska hanteringsfunktionen för att kontrollera attributen för den fysiska diskenheten eller returnera tillgänglig information om ledigt utrymme om katalogen.
Transact-SQL syntaxkonventioner
Syntax
sys.dm_os_volume_stats (database_id , file_id)
Argument
database_id
ID för databasen.
database_id är int, utan standard. Det går inte att NULL
.
file_id
ID för filen.
file_id är int, utan standard. Det går inte att NULL
.
Tabellen returnerades
Spalt | Datatyp | Beskrivning |
---|---|---|
database_id |
int | ID för databasen. Inte nullbar. |
file_id |
int | ID för filen. Inte nullbar. |
volume_mount_point |
nvarchar(512) | Monteringspunkt där volymen är rotad. Kan returnera en tom sträng. Returnerar null i Linux. |
volume_id |
nvarchar(512) | Operativsystemvolym-ID. Kan returnera en tom sträng. Returnerar null i Linux. |
logical_volume_name |
nvarchar(512) | Namn på logisk volym. Kan returnera en tom sträng. Returnerar null i Linux. |
file_system_type |
nvarchar(512) | Typ av filsystemvolym (till exempel NTFS, FAT, RAW). Kan returnera en tom sträng. Returnerar null i Linux. |
total_bytes |
bigint | Total storlek i byte av volymen. Inte nullbar. |
available_bytes |
bigint | Tillgängligt ledigt utrymme på volymen. Inte nullbar. |
supports_compression |
pytteliten | Anger om volymen stöder operativsystemets komprimering. Inte nullbar i Windows och returnerar null i Linux. |
supports_alternate_streams |
pytteliten | Anger om volymen stöder alternativa strömmar. Inte nullbar i Windows och returnerar null i Linux. |
supports_sparse_files |
pytteliten | Anger om volymen stöder glesa filer. Inte nullbar i Windows och returnerar null i Linux. |
is_read_only |
pytteliten | Anger om volymen för närvarande är markerad som skrivskyddad. Inte nullbar. |
is_compressed |
pytteliten | Anger om volymen för närvarande är komprimerad. Inte nullbar i Windows och returnerar null i Linux. |
incurs_seek_penalty |
pytteliten | Anger vilken typ av lagring som stöder den här volymen. Möjliga värden är:0 : Ingen sökstraff på den här volymen, vanligtvis när lagringsenheten är PMM eller SSD1 : Sök efter straff på den här volymen, vanligtvis när lagringsenheten är HDD2 : Lagringstypen kan inte fastställas när volymen är på en UNC-sökväg eller monterade resurserNULL : Lagringstypen kan inte fastställas på Linux-operativsystemetgäller för: SQL Server 2019 (15.x) och senare versioner |
Behörigheter
SQL Server 2019 (15.x) och tidigare versioner kräver VIEW SERVER STATE
behörighet på servern.
SQL Server 2022 (16.x) och senare versioner kräver VIEW SERVER PERFORMANCE STATE
behörighet på servern.
Exempel
A. Returnera totalt utrymme och tillgängligt utrymme för alla databasfiler
I följande exempel returneras det totala utrymmet och det tillgängliga utrymmet (i byte) för alla databasfiler i instansen av 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. Returnera totalt utrymme och tillgängligt utrymme för den aktuella databasen
I följande exempel returneras det totala utrymmet och det tillgängliga utrymmet (i byte) för databasfilerna i den aktuella databasen.
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);