Aracılığıyla paylaş


sys.fn_virtualfilestats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Veritabanı dosyaları için, günlük dosyaları da dahil olmak üzere, I/O istatistiklerini döndürür. SQL Server'da bu bilgiler sys.dm_io_virtual_file_stats dinamik yönetim görünümünden de erişilebilir.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

database_id | SIFIR
Veritabanının kimliğidir. database_idint ve varsayılan yok. SQL Server örneğindeki tüm veritabanları için bilgi döndürmek üzere NULL belirtin.

file_id | SIFIR
Dosyanın kimliği. file_idINT, varsayılan yok. Veritabanındaki tüm dosyalar için bilgi iade etmek üzere NULL belirtin.

Döndürülen Tablo

Sütun Adı Veri türü Description
DbId smallint Veritabanı Kimliği.
FileId smallint Dosya Kimliği.
Zaman damgası bigint Verilerin alındığı veritabanı zaman damgası. SQL Server 2016 (13.x) öncesi sürümlerde int olarak kullanılmıştır.
NumberReads bigint Dosyada verilen okuma sayısı.
Baytlar Okumak bigint Dosyada okunan bayt sayısı.
IoStallReadMS bigint Kullanıcıların dosyada okuma I/O'nun tamamlanmasını beklediği toplam milisaniye cinsinden toplam süre.
NumberWrites bigint Dosyada yapılan yazı sayısı.
BaytlarYazılmış bigint Dosya üzerinde yazılmış bayt sayısı.
IoStallWriteMS bigint Kullanıcıların dosyada yazma I/O'larının tamamlanmasını beklediği toplam milisaniye cinsinden toplam süre.
IoStallMS bigint IoStallReadMS ve IoStallWriteMS'in toplamı.
FileHandle bigint Dosya tutamacının değeri.
BytesOnDisk bigint Diskteki fiziksel dosya boyutu (bayt sayısı).

Veritabanı dosyaları için bu, sys.database_filesboyutuyla aynıdır, ancak sayfa yerine bayt cinsinden ifade edilir.

Veritabanı anlık seyrek dosyalar için, işletim sisteminin dosya için kullandığı alan bu yerdir.

Açıklamalar

fn_virtualfilestats , bir dosyada gerçekleştirilen toplam G/O sayısı gibi istatistiksel bilgiler veren sistem tablosu değerli bir fonksiyondur. Bu fonksiyonu, kullanıcıların bir dosyayı okumak veya yazmak için ne kadar beklemeleri gerektiğini takip etmek için kullanabilirsiniz. Bu fonksiyon ayrıca çok sayıda I/O etkinliğiyle karşılaşan dosyaları tanımlamaya yardımcı olur.

Permissions

Sunucuda VIEW SERVER STATE izni gerektirir.

Örnekler

A. Bir veritabanı için istatistiksel bilgilerin görüntülenmesi

Aşağıdaki örnek, veritabanında dosya kimliği 1 için istatistiksel bilgileri gösterir ve ID'si .1

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Adlandırılmış bir veritabanı ve dosya için istatistiksel bilgilerin görüntülenmesi

Aşağıdaki örnek, AdventureWorks2025 örnek veritabanındaki log dosyası için istatistiksel bilgileri gösterir. Sistem fonksiyonu DB_IDdatabase_id parametreyi belirtmek için kullanılır.

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

C. Tüm veritabanları ve dosyalar için istatistiksel bilgilerin görüntülenmesi

Aşağıdaki örnek, SQL Server örneğinde tüm veritabanlarındaki tüm dosyalar için istatistiksel bilgileri gösterir.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Ayrıca Bkz.

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