sys.database_files (Transact-SQL)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Содержит по одной строке для каждого из файлов базы данных, в которых она хранится. Это представление на каждую базу данных.
Имя столбца | Тип данных | Description |
---|---|---|
file_id |
int | Идентификатор файла в базе данных. |
file_guid |
uniqueidentifier | Идентификатор GUID файла.NULL = База данных была обновлена с более ранней версии SQL Server (допустима для SQL Server 2005 и более ранних версий). |
type |
tinyint | Тип файла: 0 = строки 1 = журнал. 2 = FILESTREAM. 3 = определено только для информационных целей. Не поддерживается. Совместимость с будущими версиями не гарантируется. 4 = полный текст |
type_desc |
nvarchar(60) | Описание типа файла:ROWS LOG FILESTREAM FULLTEXT |
data_space_id |
int | Значение может быть равно нулю или больше нуля. Значение представляет файл журнала базы данных, а значение 0 больше нуля представляет идентификатор файловой группы, в которой хранится этот файл данных. |
name |
sysname | Логическое имя файла в базе данных. |
physical_name |
nvarchar(260) | Имя файла в операционной системе. Если база данных размещена доступной для чтения вторичной репликой группы доступности, physical_name указывает расположение файла базы данных-источника реплики. Для правильного расположения файла доступной для чтения базы данных-получателя запросите sys.sysaltfiles. |
state |
tinyint | Состояние файла: 0 = ONLINE 1 = RESTORING 2 = RECOVERING 3 = RECOVERY_PENDING 4 = SUSPECT 5 = определено только для информационных целей. Не поддерживается. Совместимость с будущими версиями не гарантируется. 6 = OFFLINE 7 = DEFUNCT |
state_desc |
nvarchar(60) | Описание состояния файла:ONLINE RESTORING RECOVERING RECOVERY_PENDING SUSPECT OFFLINE DEFUNCT Дополнительные сведения см. в разделе Состояния файлов. |
size |
int | Текущий размер файла в страницах по 8 КБ. 0 = не определено. Для моментального снимка базы данных аргумент size отражает максимальное пространство, которое моментальный снимок может использовать только для файла. Для контейнеров файловой группы FILESTREAM размер отражает текущий используемый размер контейнера. |
max_size |
int | Максимальный размер файла в страницах по 8 КБ: 0 = Увеличение размера запрещено. -1 = файл может расти до тех пор, пока диск не будет заполнен. 268435456 = файл журнала может увеличиваться до максимального размера 2 ТБ. Для контейнеров max_size файловой группы FILESTREAM отражает максимальный размер контейнера.Базы данных, обновляемые с помощью отчета о неограниченном размере файла журнала для максимального размера -1 файла журнала.В База данных SQL Azure сумма max_size значений для всех файлов данных может быть меньше максимального размера данных для базы данных. Используется DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') для определения максимального размера данных. |
growth |
int | 0 = Файл имеет фиксированный размер и не будет увеличиваться. Больше 0 = файл будет расти автоматически. Если is_percent_growth = 0, рост увеличивается в единицах 8 КБ страниц, округляется до ближайшей 64 КБ.Если is_percent_growth = 1, увеличение роста выражается в целом проценте числа. |
is_media_read_only |
bit | 1 = файл находится на носителе только для чтения. 0 = файл размещен на носителе для чтения-записи. |
is_read_only |
bit | 1 = файл помечен как файл только для чтения. 0 = файл помечен для чтения-записи. |
is_sparse |
bit | 1 = разреженный файл. 0 = неразреженный файл. Дополнительные сведения см. в разделе "Размер разреженного файла моментального снимка базы данных" (Transact-SQL). |
is_percent_growth |
bit | 1 = размер файла увеличивается в процентах. 0 = абсолютное увеличение размера в страницах. |
is_name_reserved |
bit | 1 = удаленное имя файла (name или physical_name ) повторно используется только после следующей резервной копии журнала. После того как файлы удалены из базы данных, логические имена остаются в зарезервированном состоянии до следующего резервного копирования журнала. Этот столбец является важным только в случае использования модели полного восстановления и модели восстановления с неполным протоколированием. |
create_lsn |
numeric(25,0) | Регистрационный номер транзакции в журнале (LSN), на котором создан файл. |
drop_lsn |
numeric(25,0) | Номер LSN, с которым файл удален. 0 = имя файла недоступно для повторного использования. |
read_only_lsn |
numeric(25,0) | Номер LSN, на котором файловая группа, содержащая файл, изменила тип с «для чтения и записи» на «только для чтения» (самое последнее изменение). |
read_write_lsn |
numeric(25,0) | Номер LSN, на котором файловая группа, содержащая файл, изменила тип с «только для чтения» на «для чтения и записи» (самое последнее изменение). |
differential_base_lsn |
numeric(25,0) | Основа для разностных резервных копий. Экстенты данных, измененных после того, как этот номер LSN будет включен в разностную резервную копию. |
differential_base_guid |
uniqueidentifier | Уникальный идентификатор базовой резервной копии, на которой будет основываться разностная резервная копия. |
differential_base_time |
datetime | Время, соответствующее differential_base_lsn . |
redo_start_lsn |
numeric(25,0) | Номер LSN, с которого должен начаться следующий накат. Если NULL или state = RECOVERY_PENDING нет.state = RESTORING |
redo_start_fork_guid |
uniqueidentifier | Уникальный идентификатор точки вилки восстановления. Восстановление first_fork_guid следующей резервной копии журнала должно соответствовать этому значению. Представляет текущее состояние файла. |
redo_target_lsn |
numeric(25,0) | Номер LSN, на котором накат в режиме «в сети» по данному файлу может остановиться. Если NULL или state = RECOVERY_PENDING нет.state = RESTORING |
redo_target_fork_guid |
uniqueidentifier | Вилка восстановления, на которой файл может быть восстановлен. В паре с redo_target_lsn . |
backup_lsn |
numeric(25,0) | Номер LSN самых новых данных или разностная резервная копия файла. |
Примечание.
При удалении или перестроении больших индексов или удалении или усечении больших таблиц ядро СУБД откладывает фактическое размещение сделки страниц и связанные с ними блокировки до тех пор, пока транзакция не будет зафиксирована. Отложенные операции удаления не освобождают выделенное место немедленно. Таким образом, значения, возвращаемые sys.database_files
сразу после удаления или усечения большого объекта, могут не отражать фактическое свободное место на диске.
Разрешения
Необходимо быть членом роли public. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Примеры
Следующая инструкция возвращает имя, размер файла и объем пустого места для каждого файла базы данных.
SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0
AS EmptySpaceInMB
FROM sys.database_files;
Найдите примеры запросов с помощью База данных SQL в разделе "Управление файловыми пространствами для баз данных" в База данных SQL Azure. Вы можете:
- Запрос одной базы данных для сведений о пространстве хранилища.
- Запрос эластичного пула для сведений о пространстве хранилища.
Связанный контент
- Представления каталога баз данных и файлов (Transact-SQL)
- Состояния файлов
- sys.databases (Transact-SQL)
- sys.master_files (Transact-SQL)
- Файлы и файловые группы базы данных
- sys.data_spaces (Transact-SQL)
- Управление файловым пространством для баз данных в базе данных Azure SQL Database
- Управление пространством файлов для баз данных в Управляемый экземпляр SQL Azure