sys.master_files (Transact-SQL)

Применимо к:SQL ServerSql Azure Sql Managed InstanceAnalytics Platform System (PDW)

Содержит по одной строке для каждого файла базы данных, как хранящиеся в базе данных master. Это единственное общесистемное представление.

Имя столбца Тип данных Описание:
database_id int Идентификатор базы данных, которому принадлежит данный файл. Значение masterdatabase_id всегда равно 1.
file_id int Идентификатор файла в базе данных. Параметр file_id первичного файла всегда имеет значение 1.
file_guid uniqueidentifier Уникальный идентификатор файла.

NULL = база данных была обновлена с более ранней версии SQL Server (допустима для SQL Server 2005 и более ранних версий).
тип tinyint Тип файла:

0 = строки.

1 = журнал.

2 = FILESTREAM.

3 = определено только для информационных целей. Не поддерживается. Совместимость с будущими версиями не гарантируется.

4 = полнотекстовые каталоги (полнотекстовые каталоги, предшествующие SQL Server 2008 (10.0.x); полнотекстовые каталоги, которые обновляются или создаются в SQL Server 2008 (10.0.x) или более поздних версий, будут сообщать о типе файла 0.)
type_desc nvarchar(60) Описание типа файла:

СТРОКИ

ЖУРНАЛ

FILESTREAM

FULLTEXT (полнотекстовые каталоги, предшествующие SQL Server 2008 (10.0.x).)
data_space_id int Идентификатор пространства данных, которому принадлежит этот файл. Пространство данных является файловой группой.

0 = файлы журнала
name sysname Логическое имя файла в базе данных.
physical_name nvarchar(260) Имя файла в операционной системе.
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 КБ страницах. Для моментального снимка базы данных аргумент size отражает максимальное пространство, которое моментальный снимок может использовать только для файла.

Примечание. Это поле заполняется нулем для контейнеров FILESTREAM. Запросите представление каталога sys.database_files для фактического размера контейнеров FILESTREAM.
max_size int Максимальный размер файла в страницах по 8 КБ:

0 = Увеличение размера запрещено.

-1 = размер файла может увеличиваться до полного заполнения диска.

268435456 = файл журнала может увеличиваться до 2 ТБ.

Примечание. Базы данных, обновляемые с неограниченным размером файла журнала, будут сообщать -1 для максимального размера файла журнала.
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) может быть использовано для нового имени файла.

0 = имя файла, недоступно для использования.
create_lsn numeric(25,0) Регистрационный номер транзакции в журнале (LSN), на котором создан файл.
drop_lsn numeric(25,0) Номер LSN, с которым файл удален.
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 = RESTORING или значение аргумента state = RECOVERY_PENDING.
redo_start_fork_guid uniqueidentifier Уникальный идентификатор точки вилки восстановления. Значение аргумента first_fork_guid следующей восстановленной резервной копии журнала должно совпадать с этим значением. Это отражает текущее состояние контейнера.
redo_target_lsn numeric(25,0) Номер LSN, на котором накат в режиме «в сети» по данному файлу может остановиться.

Равно NULL за исключением случаев, когда значение аргумента state = RESTORING или значение аргумента state = RECOVERY_PENDING.
redo_target_fork_guid uniqueidentifier Вилка восстановления, на которой может быть восстановлен контейнер. Используется в паре с redo_target_lsn.
backup_lsn numeric(25,0) Номер LSN самых новых данных или разностная резервная копия файла.
credential_id int sys.credentials Используется credential_id для хранения файла. Например, когда SQL Server работает на виртуальной машине Azure и файлы базы данных хранятся в хранилище BLOB-объектов Azure, учетные данные настраиваются с учетными данными доступа к расположению хранилища.

Заметка

При удалении или перестроении больших индексов или удалении или усечении больших таблиц ядро СУБД откладывает фактическое размещение сделки страниц и связанные с ними блокировки до тех пор, пока транзакция не будет зафиксирована. Отложенные операции удаления не освобождают выделенное место немедленно. Поэтому значения, возвращаемые sys.master_files сразу после удаления или обрезания большого объекта, могут не отражать доступное пространство на диске.

Заметка

Для tempdb в представлении sys.master_files отображается начальный размер tempdb. Значения используются в качестве шаблона для создания tempdb при запуске SQL Server. Таким образом, когда tempdb растет, он не отражается в представлении. Чтобы получить текущий размер файлов tempdb, выполните запрос tempdb.sys.database_files.

Разрешения

Минимальные разрешения, необходимые для просмотра соответствующих строк — CREATE DATABASE, ALTER ANY DATABASE или VIEW ANY DEFINITION.

См. также

Представления каталога баз данных и файлов (Transact-SQL)
Состояния файлов
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
Файлы и файловые группы базы данных