Megosztás a következőn keresztül:


sys.database_files (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Egy adatbázis fájlonként egy sort tartalmaz, ahogy az adatbázisban tárolt. Ez egy adatbázis-alapú nézet.

Oszlop név Adattípus Description
file_id int A fájl azonosítója az adatbázisban.
file_guid uniqueidentifier A fájlhoz GUID.

NULL = Az adatbázist frissítették egy korábbi SQL Server verzióról (érvényes SQL Server 2005 és korábbi verziók esetén).
type tinyint Fájltípus:

0 = Sorok
1 = Napló
2 = FÁJLFOLYAM
3 = Csak információs céllal azonosítva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
4 = Teljes szöveg
type_desc nvarchar(60) A fájltípus leírása:

ROWS
LOG
FILESTREAM
FULLTEXT
data_space_id int Az érték lehet nulla vagy akár nagyobb, mint nulla. Az érték 0 az adatbázis naplófájlját jelöli, míg a nullánál nagyobb érték annak a fájlcsoportnak az azonosítóját, ahol ez az adatfájl tárolható.
name sysname A fájl logikus neve az adatbázisban.
physical_name nvarchar(260) Operációs rendszer fájlneve. Ha az adatbázist egy elérhetőségi csoportból ismert másodlagos replika üzemelteti, physical_name az az elsődleges replika adatbázis fájlhelyét jelzi. A megfelelő fájlhelyhez egy olvasható másodlagos adatbázisban keressük a sys.sysaltfiles fájlt.
state tinyint Fájlállapot:

0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = Csak információs célokra azonosítva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
6 = OFFLINE
7 = DEFUNCT
state_desc nvarchar(60) A fájl állapotának leírása:

ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
OFFLINE
DEFUNCT
További információért lásd: Fájlállapotok.
size int A fájl jelenlegi mérete, 8 KB-os oldalakon.

0 = Nem alkalmazható
Egy adatbázis snapshot esetén a méret azt a maximális helyet tükrözi, amit a snapshot valaha is használhat a fájlhoz.
A FILESTREAM fájlcsoport konténerek esetében a méret a konténer jelenleg használt méretét tükrözi.
max_size int Maximális fájlméret, 8 KB-os oldalakon:

0 = Növekedés nem engedélyezett.
-1 = A fájl növekedhet, amíg a lemez tele nem lesz.
268435456 = A naplófájl legfeljebb 2 TB méretre növekedhet.
FILESTREAM fájlcsoport konténerek esetén max_size a konténer maximális méretét tükrözi.
Olyan adatbázisok, amelyeket korlátlan naplófájlmérettel frissítenek, a naplófájl maximális méretére vonatkoznak -1 .
Az Azure SQL Database-ben az összes adatfájl értékeinek összege max_size kisebbek lehetnek, mint az adatbázis maximális adatmérete. A maximális adatméret meghatározására használjuk DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') .
growth int 0 = A fájl fix méretű, és nem nő.

0-nál nagyobb = A fájl automatikusan nő.
Ha is_percent_growth = 0, a növekedési növekedés 8 KB-os oldalak egységein van kiindulva, a legközelebbi 64 KB-ra kerekítve.
Ha is_percent_growth = 1, akkor a növekedési növekedést teljes számszázalékként fejezzük ki.
is_media_read_only bit 1 = A fájl csak olvasható médiumon van.

0 = A fájl olvasó-írási médián van.
is_read_only bit 1 = A fájl csak olvashatóként van jelölve.

0 = A fájl olvasás/írás jelzéssel van jelölve.
is_sparse bit 1 = A fájl ritka fájl.

0 = A fájl nem ritka fájl.
További információért lásd: Adatbázis pillanatkép ritka fájljának mérete (Transact-SQL).
is_percent_growth bit 1 = A fájl növekedése százalék.

0 = Abszolút növekedési méret oldalakon.
is_name_reserved bit 1 = A kidobott fájlnév (name vagy physical_name) csak a következő naplómentés után újrahasználható. Amikor fájlokat dobnak ki egy adatbázisból, a logikai nevek fenntartott állapotban maradnak a következő naplómentésig. Ez az oszlop csak a teljes helyreállítási modell és a tömeges naplózott helyreállítási modell esetén releváns.
is_persistent_log_buffer bit 1 = A naplófájl egy állandó naplópuffer.

0 = A fájl nem tartós naplópuffer.

További információért lásd: Adatbázisba Tartós naplópuffer hozzáadása (Persistens log buffer hozzáadása) oldala.
create_lsn numerikus(25,0) A napló szekvenciaszám (LSN), ahol a fájlt létrehozták.
drop_lsn numerikus(25,0) LSN, ahol a fájlt eldobták.

0 = A fájlnév nem elérhető újrahasználatra.
read_only_lsn numerikus(25,0) LSN, ahol a fájlcsoport, amely a fájlt tartalmazza, olvasás/írásról csak olvashatóvá vált (legutóbbi változás).
read_write_lsn numerikus(25,0) LSN, ahol a fájlcsoport, amely tartalmazza a fájlt, átváltott csak olvashatóról olvasásra/írásra (legutóbbi változás).
differential_base_lsn numerikus(25,0) Bázis a differenciális tartalékokhoz. Az LSN után változott adatkiterjedések differenciális biztonsági mentésbe kerülnek.
differential_base_guid uniqueidentifier Az alapmentés egyedi azonosítója, amelyre a differenciális mentés épül.
differential_base_time datetime Az idő, ami megfelel .differential_base_lsn
redo_start_lsn numerikus(25,0) LSN, ahol a következő előredobásnak kell indulnia.

KivéveNULL, haRESTORING = state vagy .state = RECOVERY_PENDING
redo_start_fork_guid uniqueidentifier A helyreállítási fork egyedi azonosítója. A következő visszaállított napló mentésének first_fork_guid meg kell felelnie ennek az értéknek. Ez a fájl aktuális állapotát mutatja.
redo_target_lsn numerikus(25,0) LSN, ahol az online előrehaladás megállhat ezen a fájlon.

KivéveNULL, haRESTORING = state vagy .state = RECOVERY_PENDING
redo_target_fork_guid uniqueidentifier A helyreállítási ág, amelyen a fájl vissza lehet szerezni. Párosítva .redo_target_lsn
backup_lsn numerikus(25,0) A legfrissebb adatok LSN-je vagy a fájl differenciális mentése.

Megjegyzés:

Amikor eldobod vagy újraépíted a nagy indexeket, vagy kidobod vagy lerövidíted a nagy táblákat, az Adatbázis Engine a tényleges oldal kibontását és a hozzájuk tartozó zárolásokat a tranzakció elköteleződése után halasztja. A halasztott ledobási műveletek nem szabadítják fel azonnal a kijelölt helyet. Ezért a nagy objektum ledobása vagy levágása után azonnal visszaadott sys.database_files értékek nem feltétlenül tükrözik a rendelkezésre álló lemezhelyet.

Permissions

A nyilvános szerepkör tagságát igényli. További információ: Metaadatok láthatóságának konfigurációja.

Példák

A következő állítás adja vissza a nevét, fájlméretét és az üres hely mennyiségét minden adatbázis fájlhoz.

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

Keress példákat SQL Database segítségével, az Azure SQL Database adatbázisainak fájlterének kezelése menüben. Ön megteheti: