sys.database_files (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Berisi baris per file database seperti yang disimpan dalam database itu sendiri. Ini adalah tampilan per database.

Nama kolom Jenis data Deskripsi
file_id int ID file dalam database.
file_guid pengidentifikasi unik GUID untuk file.

NULL = Database ditingkatkan dari versi SQL Server yang lebih lama (Valid untuk SQL Server 2005 dan versi yang lebih lama).
type kecil Jenis file:

0 = Baris
1 = Log
2 = FILESTREAM
3 = Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
4 = Teks lengkap
type_desc nvarchar(60) Deskripsi jenis file:

ROWS
LOG
FILESTREAM
FULLTEXT
data_space_id int Nilai bisa nol atau lebih besar dari nol. Nilai 0 mewakili file log database, dan nilai yang lebih besar dari nol mewakili ID grup file tempat file data ini disimpan.
name nama sysname Nama logis file dalam database.
physical_name nvarchar(260) Nama file sistem operasi. Jika database dihosting oleh grup ketersediaan replika sekunder yang dapat dibaca, physical_name menunjukkan lokasi file database replika utama. Untuk lokasi file database sekunder yang dapat dibaca dengan benar, kueri sys.sysaltfiles.
state kecil Status file:

0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
6 = OFFLINE
7 = DEFUNCT
state_desc nvarchar(60) Deskripsi status file:

ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
OFFLINE
DEFUNCT
Untuk informasi selengkapnya, lihat Status File.
size int Ukuran file saat ini, dalam halaman 8-KB.

0 = Tidak berlaku
Untuk rekam jepret database, ukuran mencerminkan ruang maksimum yang dapat digunakan rekam jepret untuk file tersebut.
Untuk kontainer grup file FILESTREAM, ukuran mencerminkan ukuran kontainer yang digunakan saat ini.
max_size int Ukuran file maksimum, dalam halaman 8 KB:

0 = Tidak ada pertumbuhan yang diizinkan.
-1 = File dapat bertambah hingga disk penuh.
268435456 = File log dapat tumbuh hingga ukuran maksimum 2 TB.
Untuk kontainer grup file FILESTREAM, max_size mencerminkan ukuran maksimum kontainer.
Database yang ditingkatkan dengan laporan -1 ukuran file log tak terbatas untuk ukuran maksimum file log.
Di Azure SQL Database, jumlah max_size nilai untuk semua file data bisa kurang dari ukuran data maksimum untuk database. Gunakan DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') untuk menentukan ukuran data maksimum.
growth int 0 = File berukuran tetap dan tidak akan tumbuh.

Lebih besar dari 0 = File akan tumbuh secara otomatis.
Jika is_percent_growth = 0, kenaikan pertumbuhan berada dalam satuan halaman 8 KB, dibulatkan ke 64 KB terdekat.
Jika is_percent_growth = 1, kenaikan pertumbuhan dinyatakan sebagai persentase bilangan bulat.
is_media_read_only bit 1 = File ada di media baca-saja.

0 = File ada di media baca-tulis.
is_read_only bit 1 = File ditandai baca-saja.

0 = File ditandai sebagai baca/tulis.
is_sparse bit 1 = File adalah file jarang.

0 = File bukan file jarang.
Untuk informasi selengkapnya, lihat Menampilkan Ukuran File Jarang rekam jepret Database (Transact-SQL).
is_percent_growth bit 1 = Pertumbuhan file adalah persentase.

0 = Ukuran pertumbuhan absolut dalam halaman.
is_name_reserved bit 1 = Nama file yang dihilangkan (name atau physical_name) hanya dapat digunakan kembali setelah pencadangan log berikutnya. Ketika file dihilangkan dari database, nama logis tetap dalam status dipesan hingga cadangan log berikutnya. Kolom ini hanya relevan di bawah model pemulihan penuh dan model pemulihan yang dicatat secara massal.
create_lsn numerik(25,0) Nomor urutan log (LSN) tempat file dibuat.
drop_lsn numerik(25,0) LSN tempat file dihilangkan.

0 = Nama file tidak tersedia untuk digunakan kembali.
read_only_lsn numerik(25,0) LSN di mana grup file yang berisi file diubah dari baca/tulis menjadi baca-saja (perubahan terbaru).
read_write_lsn numerik(25,0) LSN di mana grup file yang berisi file diubah dari baca-saja menjadi baca/tulis (perubahan terbaru).
differential_base_lsn numerik(25,0) Dasar untuk pencadangan diferensial. Tingkat data berubah setelah LSN ini akan disertakan dalam cadangan diferensial.
differential_base_guid pengidentifikasi unik Pengidentifikasi unik cadangan dasar tempat pencadangan diferensial akan didasarkan.
differential_base_time datetime Waktu yang differential_base_lsnsesuai dengan .
redo_start_lsn numerik(25,0) LSN di mana roll forward berikutnya harus dimulai.

Apakah NULL kecuali state = RESTORING atau state = RECOVERY_PENDING.
redo_start_fork_guid pengidentifikasi unik Pengidentifikasi unik fork pemulihan. Cadangan first_fork_guid log berikutnya yang dipulihkan harus cocok dengan nilai ini. Ini mewakili status file saat ini.
redo_target_lsn numerik(25,0) LSN di mana roll forward online pada file ini dapat berhenti.

Apakah NULL kecuali state = RESTORING atau state = RECOVERY_PENDING.
redo_target_fork_guid pengidentifikasi unik Fork pemulihan tempat file dapat dipulihkan. Dipasangkan dengan redo_target_lsn.
backup_lsn numerik(25,0) LSN dari data terbaru atau cadangan diferensial file.

Catatan

Saat Anda menjatuhkan atau membangun kembali indeks besar, atau menghilangkan atau memotong tabel besar, Mesin Database menangguhkan alokasi halaman aktual, dan kunci terkaitnya, hingga setelah transaksi diterapkan. Operasi penurunan yang ditangguhkan tidak segera melepaskan ruang yang dialokasikan. Oleh karena itu, nilai yang dikembalikan segera setelah menghilangkan atau memotong objek besar mungkin tidak mencerminkan sys.database_files ruang disk aktual yang tersedia.

Izin

Memerlukan keanggotaan dalam peran publik . Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.

Contoh

Pernyataan berikut mengembalikan nama, ukuran file, dan jumlah ruang kosong untuk setiap file database.

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

Temukan contoh kueri menggunakan SQL Database, di Kelola ruang file untuk database di Azure SQL Database. Anda dapat: