Dela via


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 SSD

1: Sök efter straff på den här volymen, vanligtvis när lagringsenheten är HDD

2: Lagringstypen kan inte fastställas när volymen är på en UNC-sökväg eller monterade resurser

NULL: Lagringstypen kan inte fastställas på Linux-operativsystemet

gä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);