sys.master_files (Transact-SQL)

Применимо к: SQL Server Управляемый экземпляр SQL AzureAnalytics 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) Описание типа файла:

ROWS

LOG

FILESTREAM

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

0 = файлы журнала
name sysname Логическое имя файла в базе данных.
physical_name nvarchar(260) Имя файла в операционной системе.
Состояние 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_time 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 Объект credential_id из sys.credentials , используемый для хранения файла. Например, если SQL Server выполняется на виртуальной машине Azure, а файлы базы данных хранятся в Хранилище BLOB-объектов Azure, учетные данные настраиваются с учетными данными для доступа к расположению хранилища.

Примечание

При удалении или перестроении больших индексов, удалении или усечении больших таблиц компонент Компонент Database Engine откладывает фактическое освобождение страниц и связанные с ними блокировки до фиксации транзакции. Отложенные операции удаления не освобождают выделенное место немедленно. Поэтому значения, возвращаемые 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)
Файлы и файловые группы базы данных