Aracılığıyla paylaş


sys.dm_io_virtual_file_stats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics 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.

Uyarı

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.

Sözdizimi

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

Arguments

database_id | SIFIR

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

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 Database

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 .

Örnekler

Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.

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

Uygulanır: SQL Server ve Azure SQL Database

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;