Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Zwraca statystyki I/O dla danych i plików logów. Ta dynamiczna funkcja zarządzania zastępuje funkcję fn_virtualfilestats .
Uwaga / Notatka
Aby wywołać ten dynamiczny widok zarządzania (DMV) z Azure Synapse Analytics, użyj nazwy sys.dm_pdw_nodes_io_virtual_file_stats Ta składnia nie jest obsługiwana przez serwerless SQL pool w Azure Synapse Analytics.
Składnia
Składnia dla programu SQL Server i usługi Azure SQL Database:
sys.dm_io_virtual_file_stats (
{ database_id | NULL } ,
{ file_id | NULL }
)
Składnia usługi Azure Synapse Analytics:
sys.dm_pdw_nodes_io_virtual_file_stats
Arguments
database_id | ZERO
Dotyczy do: SQL Server 2008 (10.0.x) i nowszych, Azure SQL Database
Identyfikator bazy danych.
database_id jest int, bez domyślnego stanowczości. Poprawne dane wejściowe to numer ID bazy danych lub NULL. Gdy NULL zostanie określona, wszystkie bazy danych w instancji SQL Server są zwracane.
Można określić wbudowaną funkcję DB_ID .
file_id | ZERO
Dotyczy do: SQL Server 2008 (10.0.x) i nowszych, Azure SQL Database
Identyfikacja pliku.
file_id jest int, bez domyślnego stanowczości. Poprawne wejścia to numer ID pliku lub NULL. Gdy NULL zostanie określona, wszystkie pliki w bazie danych są zwracane.
Wbudowana funkcja FILE_IDEX może być określona i odnosi się do pliku w aktualnej bazie danych.
Zwrócona tabela
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
database_name |
sysname | Nazwa bazy danych. W Azure Synapse Analytics jest to nazwa bazy danych przechowywanej na węźle zidentyfikowanym przez pdw_node_id. Każdy węzeł ma jedną tempdb bazę danych zawierającą 13 plików. Każdy węzeł ma również jedną bazę danych na dystrybucję, a każda baza dystrybucji ma pięć plików. Na przykład, jeśli każdy węzeł zawiera cztery rozkłady, wyniki pokazują 20 plików bazy danych dystrybucji na .pdw_node_idNie dotyczy do: SQL Server. |
database_id |
smallint | ID bazy danych. W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego. |
file_id |
smallint | Identyfikator pliku. |
sample_ms |
bigint | Liczba milisekund od uruchomienia komputera. Ta kolumna może być użyta do porównania różnych wyników tej funkcji. Typ danych to int dla SQL Server 2014 (12.x) i wcześniejszych wersji. W tych wersjach wartość resetuje się do 0 po około 25 dniach ciągłego dostępności silnika bazy danych. |
num_of_reads |
bigint | Liczba odczytów wykonanych w pliku. |
num_of_bytes_read |
bigint | Całkowita liczba bajtów odczytanych w tym pliku. |
io_stall_read_ms |
bigint | Łączny czas, w milisekundach, jaki użytkownicy oczekiwali na odczyty przypisane do pliku. |
num_of_writes |
bigint | Liczba zapisów wykonanych w tym pliku. |
num_of_bytes_written |
bigint | Całkowita liczba bajtów zapisanych w pliku. |
io_stall_write_ms |
bigint | Łączny czas, czyli w milisekundach, użytkownik czekał na zakończenie zapisów pliku. |
io_stall |
bigint | Łączny czas, w milisekundach, jaki użytkownicy czekali na zakończenie operacji wejścia/wyjścia pliku. |
size_on_disk_bytes |
bigint | Liczba bajtów używanych na dysku do tego pliku. W przypadku plików rzadkich liczba ta to rzeczywista liczba bajtów na dysku używanych do migawek bazy danych. |
file_handle |
varbinary | Uchwyt plików Windows dla tego pliku. |
io_stall_queued_read_ms |
bigint | Całkowite opóźnienie IO wprowadzone przez zarządzanie zasobami IO dla odczytu. Nie może być null. Więcej informacji można znaleźć w sys.dm_resource_governor_resource_pools. Nie dotyczy do: SQL Server 2012 (11.x) i wcześniejszych wersji. |
io_stall_queued_write_ms |
bigint | Całkowite opóźnienie IO wprowadzone przez zarządzanie zasobami IO dla zapisów. Nie może być null. Nie dotyczy do: SQL Server 2012 (11.x) i wcześniejszych wersji. |
pdw_node_id |
int | Identyfikator węzła dla dystrybucji. Dotyczy: Azure Synapse Analytics |
Uwagi
Liczniki są inicjalizowane do opróżniania za każdym razem, gdy uruchamiana jest usługa SQL Server (MSSQLSERVER).
Permissions
Program SQL Server 2019 (15.x) i starsze wersje wymagają VIEW SERVER STATE uprawnień.
Program SQL Server 2022 (16.x) i nowsze wersje wymagają VIEW SERVER PERFORMANCE STATE uprawnień na serwerze.
Przykłady
Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.
A. Zwracaj statystyki dla pliku logu
Dotyczy to: SQL Server i Azure SQL Database
Poniższy przykład zwraca statystyki dla pliku loga w bazie AdventureWorks2025.
SELECT *
FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2025'), 2);
B. Statystyki zwrotu pliku w tempdb
Dotyczy: Azure Synapse Analytics
SELECT *
FROM sys.dm_pdw_nodes_io_virtual_file_stats
WHERE database_name = 'tempdb'
AND file_id = 2;
Treści powiązane
- dynamiczne widoki zarządzania systemu
- Dynamiczne widoki i funkcje zarządzania związane z I/O (Transact-SQL)
- sys.database_files
- sys.master_files