Udostępnij za pomocą


sys.fn_virtualfilestats (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca statystyki I/O dla plików baz danych, w tym plików logów. W SQL Server te informacje są również dostępne w widoku zarządzania dynamicznego sys.dm_io_virtual_file_stats .

Transact-SQL konwencje składni

Składnia

  
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )  

Arguments

database_id | ZERO
To ID bazy danych. database_id jest int, bez domyślnego wymienia. Określ NULL do zwracania informacji dla wszystkich baz danych w instancji SQL Server.

file_id | ZERO
To ID pliku. file_id jest int, bez domyślnego stanowczości. Określ NULL, aby zwracał informacje dla wszystkich plików w bazie danych.

Zwracana tabela

Nazwa kolumny Typ danych Description
DbId smallint Identyfikator bazy danych.
Identyfikator pliku smallint Identyfikator pliku.
Sygnatury czasowej bigint Znacznik czasowy bazy danych, w którym dane zostały pobrane. int w wersjach sprzed SQL Server 2016 (13.x).
NumberReads bigint Liczba odczytów wykonanych w pliku.
BytesRead bigint Liczba bajtów odczytanych przypisanych plikowi.
IoStallReadMS bigint Łączna ilość czasu, w milisekundach, użytkownicy czekali na zakończenie odczytu I/O pliku.
NumberWrites bigint Liczba zapisów wykonanych w pliku.
BytesWritten bigint Liczba bajtów zapisanych w pliku jest tworzona.
IoStallWriteMS bigint Łączny czas, w milisekundach, który użytkownicy czekali na zakończenie zapisu I/O pliku.
IoStallMS bigint Suma IoStallReadMS i IoStallWriteMS.
FileHandle bigint Wartość uchwytu pliku.
BytesOnDisk bigint Fizyczny rozmiar pliku (liczba bajtów) na dysku.

W plikach baz danych jest to ta sama wartość co rozmiar w sys.database_files, ale wyrażana jest w bajtach, a nie w stronach.

W przypadku plików rzadkich snapshotów bazy danych jest to przestrzeń, którą system operacyjny wykorzystuje na dany plik.

Uwagi

fn_virtualfilestats to funkcja tabelowa systemowa, która dostarcza informacji statystycznych, takich jak łączna liczba operacji I/O wykonanych na pliku. Możesz użyć tej funkcji, aby śledzić, ile czasu użytkownicy muszą czekać na odczyt lub zapis pliku. Funkcja pomaga również zidentyfikować pliki, które napotykają dużą liczbę aktywności I/O.

Permissions

Wymaga uprawnień VIEW SERVER STATE na serwerze.

Przykłady

A. Wyświetlanie informacji statystycznych dla bazy danych

Poniższy przykład pokazuje informacje statystyczne dla pliku ID 1 w bazie danych z ID .1

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Wyświetlanie informacji statystycznych dla nazwanej bazy danych i pliku

Poniższy przykład prezentuje dane statystyczne dla pliku loga w przykładowej bazie AdventureWorks2025. Funkcja DB_ID systemowa służy do określenia parametru database_id .

SELECT *  
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);  
GO  

C. Wyświetlanie informacji statystycznych dla wszystkich baz danych i plików

Poniższy przykład pokazuje informacje statystyczne dla wszystkich plików we wszystkich bazach danych w instancji SQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Zobacz też

DB_ID (Transact-SQL)
FILE_IDEX (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)