Delen via


sys.database_files (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)SQL-database in Microsoft Fabric

Bevat een rij per bestand van een database zoals opgeslagen in de database zelf. Dit is een per-database weergave.

Kolomnaam Gegevenstype Description
file_id int ID van het bestand binnen de database.
file_guid uniqueidentifier GUID voor het bestand.

NULL = Database is geüpgraded van een eerdere versie van SQL Server (geldig voor SQL Server 2005 en eerdere versies).
type tinyint Bestandstype:

0 = Rijen
1 = Logboek
2 = FILESTREAM
3 = Alleen geïdentificeerd voor informatieve doeleinden. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
4 = Volledige tekst
type_desc nvarchar(60) Beschrijving van het bestandstype:

ROWS
LOG
FILESTREAM
FULLTEXT
data_space_id int De waarde kan nul zijn of groter dan nul. Een waarde van 0 vertegenwoordigt het databaselogbestand, en een waarde groter dan nul vertegenwoordigt de ID van de bestandsgroep waar dit databestand is opgeslagen.
name sysname Logische naam van het bestand in de database.
physical_name nvarchar(260) Bestandsnaam van besturingssysteem. Als de database wordt gehost door een beschikbaarheidsgroep, geeft leesbare secundaire replicaphysical_name de bestandslocatie van de primaire replica-database aan. Voor de juiste bestandslocatie van een leesbare secundaire database, raadpleeg sys.sysaltfiles.
state tinyint Bestandsstatus:

0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = Geïdentificeerd uitsluitend voor informatieve doeleinden. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
6 = OFFLINE
7 = DEFUNCT
state_desc nvarchar(60) Beschrijving van de bestandsstatus:

ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
OFFLINE
DEFUNCT
Voor meer informatie, zie Bestandsstatus.
size int Huidige bestandsgrootte, in pagina's van 8 KB.

0 = Niet van toepassing
Voor een databasesnapshot weerspiegelt de grootte de maximale ruimte die de snapshot ooit kan gebruiken voor het bestand.
Voor FILESTREAM-bestandsgroepcontainers weerspiegelt de grootte van de momenteel gebruikte grootte van de container.
max_size int Maximale bestandsgrootte, in pagina's van 8 KB:

0 = Geen groei is toegestaan.
-1 = Bestand kan groeien totdat de schijf vol is.
268435456 = Logbestand kan maximaal 2 TB beslaan.
Voor FILESTREAM-bestandsgroepcontainers weerspiegelt max_size de maximale grootte van de container.
Databases die worden geüpgraded met een rapport -1 van onbeperkte logbestanden voor de maximale grootte van het logbestand.
In Azure SQL Database kan de som van max_size waarden voor alle databestanden kleiner zijn dan de maximale datagrootte voor de database. Gebruik DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') om de maximale datagrootte te bepalen.
growth int 0 = Bestand heeft een vaste grootte en groeit niet.

Groter dan 0 = Bestand groeit automatisch.
Als is_percent_growth = 0, is de groeitoename in eenheden van 8-KB pagina's, afgerond op de dichtstbijzijnde 64 KB.
Als is_percent_growth = 1, wordt de groeitoename uitgedrukt als een geheelpercentage.
is_media_read_only bit 1 = Bestand is op alleen-lezen media.

0 = Bestand bevindt zich op lees-schrijf media.
is_read_only bit 1 = Bestand is gemarkeerd als alleen-lezen.

0 = Bestand is gemarkeerd als lezen/schrijven.
is_sparse bit 1 = Bestand is een spaarzaam bestand.

0 = Bestand is geen sparse bestand.
Voor meer informatie, zie Bekijk de grootte van het sparse bestand van een databasesnapshot (Transact-SQL).
is_percent_growth bit 1 = De groei van het bestand is een percentage.

0 = Absolute groeigrootte in pagina's.
is_name_reserved bit 1 = Verwijderde bestandsnaam (name of physical_name) is pas herbruikbaar na de volgende logback-up. Wanneer bestanden uit een database worden verwijderd, blijven de logische namen in een gereserveerde toestand tot de volgende logback-up. Deze kolom is alleen relevant onder het volledige herstelmodel en het bulk-logged herstelmodel.
is_persistent_log_buffer bit 1 = Het logbestand is een persistente logbuffer.

0 = Het bestand is geen persistente logbuffer.

Voor meer informatie, zie Voeg persistente logbuffer toe aan een database.
create_lsn numeriek(25,0) Log-sequentienummer (LSN) waarop het bestand is aangemaakt.
drop_lsn numeriek(25,0) LSN waar het dossier werd gedropt.

0 = De bestandsnaam is niet beschikbaar voor hergebruik.
read_only_lsn numeriek(25,0) LSN waarbij de bestandsgroep die het bestand bevatte veranderde van lezen/schrijven naar alleen-lezen (meest recente wijziging).
read_write_lsn numeriek(25,0) LSN waarop de bestandsgroep die het bestand bevatte veranderde van alleen-lezen naar lezen/schrijven (meest recente wijziging).
differential_base_lsn numeriek(25,0) Basis voor differentiële back-ups. Data-extents die na deze LSN zijn veranderd, worden opgenomen in een differentiële back-up.
differential_base_guid uniqueidentifier Unieke identificatie van de basis-back-up waarop een differentiële back-up is gebaseerd.
differential_base_time datetime Tijd die overeenkomt met differential_base_lsn.
redo_start_lsn numeriek(25,0) LSN waar de volgende roll-forward moet beginnen.

Is NULL tenzijRESTORING = state of .state = RECOVERY_PENDING
redo_start_fork_guid uniqueidentifier Unieke identificatie van de recovery fork. De first_fork_guid volgende logback-up die wordt hersteld, moet overeenkomen met deze waarde. Dit geeft de huidige staat van het bestand weer.
redo_target_lsn numeriek(25,0) LSN waar de online doordraaiing van dit bestand kan stoppen.

Is NULL tenzijRESTORING = state of .state = RECOVERY_PENDING
redo_target_fork_guid uniqueidentifier De herstelfork waarop het bestand kan worden hersteld. In combinatie met redo_target_lsn.
backup_lsn numeriek(25,0) Het LSN van de meest recente data of differentiële back-up van het bestand.

Opmerking

Wanneer je grote indexen laat vallen of herbouwt, of grote tabellen laat vallen of afkort, stelt de Database Engine de daadwerkelijke pagina-deallocaties en bijbehorende sloten uit tot na de transactie. Uitgestelde drop-bewerkingen geven toegewezen ruimte niet onmiddellijk vrij. Daarom zijn de waarden die direct na het laten vallen of afkappen van sys.database_files een groot object worden teruggegeven mogelijk niet de daadwerkelijke beschikbare schijfruimte.

Permissions

Vereist lidmaatschap van de openbare rol. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Voorbeelden

De volgende instructie geeft de naam, bestandsgrootte en de hoeveelheid lege ruimte voor elk databasebestand terug.

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

Vind voorbeeldqueries met SQL Database, in Bestandsruimte beheren voor databases in Azure SQL Database. U kunt: