Aracılığıyla paylaş


sys.database_files (Transact-SQL)

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

Veritabanının kendisinde saklanan bir veritabanı dosyası başına bir satır içerir. Bu, veritabanı başına bir görünümdür.

Sütun adı Veri türü Description
file_id int Veritabanındaki dosyanın kimliği.
file_guid uniqueidentifier Dosya için GUID.

NULL = Veritabanı, önceki SQL Server sürümünden yükseltildi (SQL Server 2005 ve önceki sürümler için geçerlidir).
type tinyint Dosya türü:

0 = Satırlar
1 = Log
2 = DOSYA AKIŞI
3 = Yalnızca bilgilendirme amaçlı tanımlanmıştır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
4 = Tam metin
type_desc nvarchar(60) Dosya türünün açıklaması:

ROWS
LOG
FILESTREAM
FULLTEXT
data_space_id int Değer sıfır veya sıfırdan büyük olabilir. Değeri 0 veritabanı günlük dosyasını temsil eder ve sıfırdan büyük bir değer ise bu veri dosyasının saklandığı dosya grubunun kimliğini temsil eder.
name sysname Veritabanındaki dosyanın mantıksal adı.
physical_name nvarchar(260) İşletim sistemi dosya adı. Veritabanı erişilebilirlik grubu okunabilir ikincil replika tarafından barındırılıyorsa, physical_name birincil replika veritabanının dosya konumunu gösterir. Okunabilir ikincil veritabanının doğru dosya konumu için sys.sysaltfiles sorgulasın.
state tinyint Dosya durumu:

0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = Yalnızca bilgilendirme amaçlı tanımlanmıştır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
6 = OFFLINE
7 = DEFUNCT
state_desc nvarchar(60) Dosya durumunun açıklaması:

ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
OFFLINE
DEFUNCT
Daha fazla bilgi için Dosya Durumları sayfasına bakınız.
size int Dosyanın mevcut boyutu, 8 KB sayfalarda.

0 = Geçerli değil
Bir veritabanı anlık görüntüsünde, boyut anlık fotoğrafın dosya için kullanabileceği maksimum alanı yansıtır.
FILESTREAM dosya grubu konteynerleri için, boyut konteynerin mevcut kullanılan boyutunu yansıtır.
max_size int Maksimum dosya boyutu, 8 KB sayfalarda:

0 = Büyümeye izin verilmez.
-1 = Dosya, disk dolana kadar büyüyebilir.
268435456 = Günlük dosyası maksimum 2 TB boyuta kadar büyütülebilir.
FILESTREAM dosya grubu konteynerleri için, max_size konteynerin maksimum boyutunu yansıtır.
Sınırsız log dosyası boyutu ile güncellenen veritabanları, günlük dosyasının maksimum boyutu için rapor verir -1 .
Azure SQL Veritabanı'nda, tüm veri dosyalarının değer toplamı max_size , veritabanının maksimum veri boyutundan daha küçük olabilir. Maksimum veri boyutunu belirlemek için kullanılır DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') .
growth int 0 = Dosya sabit boyutta ve büyümez.

0'dan büyük = Dosya otomatik olarak büyür.
Eğer is_percent_growth = 0 olursa, büyüme artışı 8 KB sayfa birimleri cinsinden, en yakın 64 KB'ye yuvarlanır.
Eğer is_percent_growth = 1 ise, büyüme artışı tam sayı yüzdesi olarak ifade edilir.
is_media_read_only bit 1 = Dosya yalnızca okunabilir medyada.

0 = Dosya okuma-yazma ortamındadır.
is_read_only bit 1 = Dosya yalnızca okunur olarak işaretlenmiştir.

0 = Dosya okuma/yazma olarak işaretlenmiştir.
is_sparse bit 1 = Dosya seyrek bir dosyadır.

0 = Dosya seyrek bir dosya değildir.
Daha fazla bilgi için, Veritabanı Anlık Görüntüsünün Seyrek Dosyasının Boyutunu Görüntüle (Transact-SQL) bölümüne bakınız.
is_percent_growth bit 1 = Dosyanın büyümesi bir yüzdedir.

0 = Sayfa cinsinden mutlak büyüme büyüklüğü.
is_name_reserved bit 1 = Düşürülen dosya adı (name veya physical_name) ancak bir sonraki günlük yedeklemesinden sonra tekrar kullanılabilir. Dosyalar veritabanından bırakıldığında, mantıksal isimler bir sonraki günlük yedeklemesine kadar rezerve edilmiş durumda kalır. Bu sütun yalnızca tam kurtarma modeli ve toplu kayıtlı kurtarma modeli için geçerlidir.
is_persistent_log_buffer bit 1 = Log dosyası kalıcı bir log tamponudur.

0 = Dosya kalıcı bir log tamponu değildir.

Daha fazla bilgi için, veritabanına kalıcı log tamponu ekle bkz.
create_lsn sayısal (25,0) Dosyanın oluşturulduğu log dizisi numarası (LSN).
drop_lsn sayısal (25,0) LSN'de dosyanın bırakıldığı yer.

0 = Dosya adı yeniden kullanılamaz.
read_only_lsn sayısal (25,0) LSN'de dosyayı içeren dosya grubu okuma/yazma modundan yalnızca okunabilir hale geçti (en son değişiklik).
read_write_lsn sayısal (25,0) LSN'de dosyayı içeren dosya grubu yalnızca okunmadan okuma/yazma (en son değişiklik) olarak değiştirilmiştir.
differential_base_lsn sayısal (25,0) Diferansiyel yedekler için bir temel. LSN'den sonra değişen veri kapsamları diferansiyel yedekte dahil edilir.
differential_base_guid uniqueidentifier Diferansiyel yedeklemenin dayandığı temel yedeklerin benzersiz tanımlayıcısı.
differential_base_time datetime Zamana differential_base_lsnkarşılık gelen zaman.
redo_start_lsn sayısal (25,0) LSN'de bir sonraki roll-forward başlaması gerekir.

Eğer NULL = stateRESTORING ya da state = RECOVERY_PENDINGdeğilse.
redo_start_fork_guid uniqueidentifier Kurtarma çatalının benzersiz tanımlayıcısı. Bir sonraki geri getirilen günlük yedeklerinin bu first_fork_guid değeri bu değere uymalı. Bu, dosyanın mevcut durumunu temsil eder.
redo_target_lsn sayısal (25,0) LSN bu dosyadaki çevrimiçi ilerleme durdurulabilir.

Eğer NULL = stateRESTORING ya da state = RECOVERY_PENDINGdeğilse.
redo_target_fork_guid uniqueidentifier Dosyanın geri alınabileceği kurtarma çatalıydı. Eşleştirildiğinde redo_target_lsn.
backup_lsn sayısal (25,0) Dosyanın en güncel verilerinin LSN'si veya diferansiyel yedeklemesi.

Uyarı

Büyük indeksleri bıraktığınızda veya yeniden oluşturduğunuzda, ya da büyük tabloları bıraktığınızda veya kısalttığınızda, Veritabanı Motoru gerçek sayfa açılış noktalarını ve ilgili kilitleri işlem tamamlandıktan sonra erteler. Ertelenmiş bırakma operasyonları tahsis edilen alanı hemen boşaltmaz. Bu nedenle, büyük bir nesne düşürüldükten veya kesildikten hemen sonra geri dönen sys.database_files değerler, mevcut gerçek disk alanını yansıtmayabilir.

Permissions

"" genel "" rolüne üyelik gerektirir. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .

Örnekler

Aşağıdaki ifade her veritabanı dosyası için ad, dosya boyutu ve boş alan miktarını döndürür.

SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 
   AS EmptySpaceInMB
FROM sys.database_files;

SQL Veritabanı ile Azure SQL Veritabanı için dosya alanını yönet'te örnek sorguları bulun. Şunları yapabilirsiniz: