sys.dm_io_virtual_file_stats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

Veri ve log dosyaları için I/O istatistiklerini döndürür. Bu dinamik yönetim fonksiyonu, fn_virtualfilestats fonksiyonunun yerini alır.

Note

Azure Synapse Analytics'ten bu dinamik yönetim görünümünü (DMV) çağırmak için şu adı sys.dm_pdw_nodes_io_virtual_file_stats kullanın: Bu sözdizimi Azure Synapse Analytics'te sunucusuz SQL havuzu tarafından desteklenmez.

Syntax

SQL Server ve Azure SQL Veritabanı söz dizimi:

sys.dm_io_virtual_file_stats (
    { database_id | NULL } ,
    { file_id | NULL }
)

Azure Synapse Analytics söz dizimi:

sys.dm_pdw_nodes_io_virtual_file_stats

Argümanlar

database_id | SIFIR

Uygulanır: SQL Server 2008 (10.0.x) ve sonrası, Azure SQL Veritabanı

Veritabanının kimliği. database_id int ve varsayılan yok. Geçerli girdiler olarak bir veritabanının ID numarası veya NULL. Belirtildiğinde NULL , SQL Server örneğindeki tüm veritabanları geri gönderilir.

Yerleşik işlev DB_ID belirtilebilir.

file_id | SIFIR

Uygulanır: SQL Server 2008 (10.0.x) ve sonrası, Azure SQL Veritabanı

Dosyanın kimliği. file_id int ve varsayılan yok. Geçerli girdiler olarak bir dosyanın ID numarası veya NULL. Belirtildiğinde NULL , veritabanındaki tüm dosyalar geri döner.

Yerleşik fonksiyon FILE_IDEX belirtilebilir ve mevcut veritabanındaki bir dosyaya atıfta bulunur.

Tablo geri getirildi

Sütun adı Veri türü Description
database_name sysname Veritabanı adı.

Azure Synapse Analytics için, bu, ile pdw_node_idtanımlanan düğümde depolanan veritabanının adıdır. Her düğümün 13 dosyadan oluşan bir tempdb veritabanı vardır. Her düğümün ayrıca her dağıtım için bir veritabanı vardır ve her dağıtım veritabanında beş dosya bulunur. Örneğin, her düğüm dört dağılım içeriyorsa, sonuçlar her başına pdw_node_id20 dağıtım veritabanı dosyası gösterir.

SQL Server için geçerli değildir.
database_id smallint Veritabanının kimliği.

Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir.
file_id smallint Dosyanın kimliği.
sample_ms bigint Bilgisayar açıldıktan bu yana geçen milisaniye sayısı. Bu sütun, bu fonksiyondan çıkan farklı çıktıları karşılaştırmak için kullanılabilir.

Veri türü, SQL Server 2014 (12.x) ve önceki sürümler için int'tir . Bu sürümlerde, veritabanı motoru yaklaşık 25 gün boyunca sürekli çalıştıktan sonra değer sıfırlanır.
num_of_reads bigint Dosyada verilen okuma sayısı.
num_of_bytes_read bigint Bu dosyada okunan toplam bayt sayısı.
io_stall_read_ms bigint Kullanıcıların dosya üzerinde okunmaları beklediği toplam süre, milisaniyeler cinsinden.
num_of_writes bigint Bu dosyada yapılan yazı sayısı.
num_of_bytes_written bigint Dosyaya yazılan toplam bayt sayısı.
io_stall_write_ms bigint Kullanıcıların dosyada yazıların tamamlanmasını beklediği toplam süre, milisaniyelerde.
io_stall bigint Kullanıcıların dosyada I/O'nun tamamlanmasını beklediği toplam süre, milisaniyeler cinsinden.
size_on_disk_bytes bigint Bu dosya için diskte kullanılan bayt sayısı. Seyrek dosyalar için bu sayı, veritabanı anlık görüntüleri için kullanılan diskteki gerçek bayt sayısıdır.
file_handle varbinary Bu dosya için Windows dosya kullanıcı adı.
io_stall_queued_read_ms bigint Okumalar için IO kaynak yönetişimi tarafından oluşturulan toplam IO gecikmesi. Null değeri atanamaz. Daha fazla bilgi için bkz. sys.dm_resource_governor_resource_pools.

SQL Server 2012 (11.x) ve önceki sürümler için geçerli değildir.
io_stall_queued_write_ms bigint Yazma için IO kaynak yönetişimi tarafından oluşturulan toplam IO gecikmesi. Null değeri atanamaz.

SQL Server 2012 (11.x) ve önceki sürümler için geçerli değildir.
pdw_node_id int Dağılım için düğümün tanımlayıcısı.

için geçerlidir: Azure Synapse Analytics

Açıklamalar

Sayaçlar, SQL Server (MSSQLSERVER) hizmeti başlatıldığında boşalacak şekilde başlatılır.

Permissions

SQL Server 2019 (15.x) ve önceki sürümler için izin gerekir VIEW SERVER STATE .

SQL Server 2022 (16.x) ve sonraki sürümleri sunucuda izin gerektirir VIEW SERVER PERFORMANCE STATE .

Examples

Bu makaledeki kod örneklerinde AdventureWorks2025 veya AdventureWorksDW2025 örnek veritabanı kullanılır; bunları Microsoft SQL Server Samples and Community Projects ana sayfasından indirebilirsiniz.

A. Bir günlük dosyası için iade istatistikleri

Uygulanır: SQL Server ve Azure SQL Veritabanı

Aşağıdaki örnek, AdventureWorks2025 veritabanındaki log dosyasının istatistiklerini geri döndürür.

SELECT *
FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2025'), 2);

B. tempdb'deki dosya için geri istatistikler

için geçerlidir: Azure Synapse Analytics

SELECT *
FROM sys.dm_pdw_nodes_io_virtual_file_stats
WHERE database_name = 'tempdb'
      AND file_id = 2;