sys.master_files (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure Платформенная система аналитики (PDW)

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

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

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

0 = строки

1 = журнал

2 = FILESTREAM

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

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

ROWS
LOG
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 КБ:

-1 = Файл растет до тех пор, пока диск не будет заполнен.

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

Примечание. Базы данных обновлены с неограниченным размером -1 файла журнала для максимального размера файла журнала.

Примечание. Если max_size = -1 и growth = 0, то рост не разрешен.
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 сразу после удаления или усечения большого объекта, могут не отражать фактическое свободное место на диске.

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

Разрешения

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