Sdílet prostřednictvím


sys.database_files (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Obsahuje řádek na každý soubor databáze, jak je uložen přímo v databázi. Toto je pohled na každou databázi.

Název sloupce Datový typ Description
file_id int ID souboru v databázi.
file_guid uniqueidentifier GUID pro soubor.

NULL = Databáze byla aktualizována z dřívější verze SQL Serveru (platná pro SQL Server 2005 a starší verze).
type tinyint Typ souboru:

0 = Řádky
1 = Log
2 = FILESTREAM
3 = Identifikováno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
4 = Plný text
type_desc nvarchar(60) Popis typu souboru:

ROWS
LOG
FILESTREAM
FULLTEXT
data_space_id int Hodnota může být nula nebo větší než nula. Hodnota označuje 0 databázový logovací soubor a hodnota větší než nula představuje ID souborové skupiny, ve které je tento datový soubor uložen.
name sysname Logický název souboru v databázi.
physical_name nvarchar(260) Název souboru operačního systému. Pokud je databáze hostována na čitelné sekundární replice skupiny dostupnosti, označuje physical_name umístění souboru primární repliky databáze. Pro správné umístění souboru čitelné sekundární databáze vyprašujte sys.sysaltfiles.
state tinyint Stav souboru:

0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = Identifikováno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
6 = OFFLINE
7 = DEFUNCT
state_desc nvarchar(60) Popis stavu souboru:

ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
OFFLINE
DEFUNCT
Pro více informací viz Stav souborů.
size int Aktuální velikost souboru, 8 KB stránek.

0 = Nevztahuje se
U snímku databáze velikost odráží maximální prostor, který může snímek kdy pro soubor využít.
U kontejnerů souborových skupin FILESTREAM velikost odráží aktuálně použitou velikost kontejneru.
max_size int Maximální velikost souboru, na stránkách o velikosti 8 KB:

0 = Růst není povolen.
-1 = Soubor může růst, dokud není disk plný.
268435456 = Log soubor může narůst až do maximální velikosti 2 TB.
Pro kontejnery souborových skupin FILESTREAM odráží max_size maximální velikost kontejneru.
Databáze, které jsou aktualizovány neomezenou velikostí log souboru, reportují -1 pro maximální velikost logu.
V Azure SQL Database může být součet max_size hodnot všech datových souborů menší než maximální velikost dat pro danou databázi. Použijte DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') k určení maximální velikosti dat.
growth int 0 = Soubor má pevnou velikost a neroste.

Více než 0 = Soubor roste automaticky.
Pokud is_percent_growth = 0, růstový přírůstek je v jednotkách po 8 KB stránkách, zaokrouhlených na nejbližších 64 KB.
Pokud is_percent_growth = 1, růstový přírůstek je vyjádřen jako celočíselné procento.
is_media_read_only bit 1 = Soubor je na médiu pouze pro čtení.

0 = Soubor je na médiu pro čtení a zápis.
is_read_only bit 1 = Soubor je označen pouze pro čtení.

0 = Soubor je označen jako čtení/zápis.
is_sparse bit 1 = Soubor je řídký soubor.

0 = Soubor není řídký soubor.
Pro více informací viz Zobrazit velikost řídkého souboru snímku databáze (Transact-SQL).
is_percent_growth bit 1 = Růst souboru je procento.

0 = Absolutní velikost růstu na stránkách.
is_name_reserved bit 1 = Vypuštěné jméno souboru (name nebo physical_name) je znovu použitelné až po dalším záložení logů. Když jsou soubory z databáze vyhozeny, logická jména zůstávají v rezervovaném stavu až do dalšího zálohování logů. Tento sloupec je relevantní pouze v rámci modelu plného zotavení a modelu hromadného zaznamenání obnovy.
is_persistent_log_buffer bit 1 = Log soubor je trvalý log buffer.

0 = Soubor není trvalý logický buffer.

Pro více informací viz Přidat persistentní log buffer do databáze.
create_lsn čísel(25 0) Logové pořadové číslo (LSN), ve kterém byl soubor vytvořen.
drop_lsn čísel(25 0) LSN, kde byl soubor odložen.

0 = Název souboru není k opětovnému použití.
read_only_lsn čísel(25 0) LSN, při kterém se souborová skupina obsahující soubor změnila z read/write na read-only (nejnovější změna).
read_write_lsn čísel(25 0) LSN, při kterém se souborová skupina obsahující soubor změnila z režimu pouze pro čtení na čtení/zápis (nejnovější změna).
differential_base_lsn čísel(25 0) Základ pro diferenciální zálohy. Datové rozsahy změněné po tomto LSN jsou zahrnuty do diferenciální zálohy.
differential_base_guid uniqueidentifier Jedinečný identifikátor základní zálohy, na které je diferenciální záloha založena.
differential_base_time datetime Čas odpovídající .differential_base_lsn
redo_start_lsn čísel(25 0) LSN, při kterém musí začít další roll-forward.

JeNULL, pokudRESTORING = state nebo .state = RECOVERY_PENDING
redo_start_fork_guid uniqueidentifier Jedinečný identifikátor recovery fork. Záloha first_fork_guid dalšího logu musí odpovídat této hodnotě. To představuje aktuální stav souboru.
redo_target_lsn čísel(25 0) LSN, při kterém může online přesunutí tohoto souboru přestat.

JeNULL, pokudRESTORING = state nebo .state = RECOVERY_PENDING
redo_target_fork_guid uniqueidentifier Recovery fork, na kterém lze soubor obnovit. Ve spojení s redo_target_lsn.
backup_lsn čísel(25 0) LSN nejnovějších dat nebo diferenciální zálohy souboru.

Poznámka:

Když vypustíte nebo znovu vytvoříte velké indexy, nebo vynecháte či zkracujete velké tabulky, databázový engine odloží skutečné deallokace stránek a jejich související zámky až po dokončení transace. Operace odloženého vyhození neuvolňují přidělený prostor okamžitě. Hodnoty vrácené sys.database_files bezprostředně po vypuštění nebo zkrácení velkého objektu nemusí odrážet skutečné dostupné místo na disku.

Povolení

Vyžaduje členství ve veřejné roli . Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Examples

Následující příkaz vrací název, velikost souboru a množství volného místa pro každý databázový soubor.

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

Najděte příklady dotazů pomocí SQL Database v sekci Spravovat prostor souborů pro databáze Azure SQL. Můžete: