适用于: SQL Server 
Azure SQL 托管实例 
分析平台系统 (PDW)
包含数据库中存储 master 的数据库的每个文件的行。 sys.master_files 是单个系统范围的视图。
| 列名称 | 数据类型 | 描述 | 
|---|---|---|
| database_id | int | 应用此文件的数据库的 ID。 数据库始终 1为 <master>。 | 
| file_id | int | 数据库内文件的 ID。 主数据库 file_id始终1是 。 | 
| file_guid | uniqueidentifier | 文件的唯一标识符。 NULL= 数据库已从早期版本的 SQL Server 升级(对 SQL Server 2005 (9.x) 和早期版本有效)。 | 
| type | tinyint | 文件类型: 0= 行1= 日志2= FILESTREAM3= 仅用于信息性目的标识。 不支持。 不保证以后的兼容性。4= 全文(早于 SQL Server 2008(10.0.x);在 SQL Server 2008(10.0.x)及更高版本中升级到或创建的全文目录报告文件类型0。) | 
| type_desc | nvarchar(60) | 文件类型的说明: ROWSLOGFILESTREAMFULLTEXT(早于 SQL Server 2008(10.0.x)的全文目录)。 | 
| data_space_id | int | 此文件所属数据空间的 ID。 数据空间是一个文件组。 0= 日志文件 | 
| name | sysname | 数据库中文件的逻辑名称。 | 
| physical_name | nvarchar(260) | 操作系统文件名。 | 
| state | tinyint | 文件状态: 0=ONLINE1=RESTORING2=RECOVERING3=RECOVERY_PENDING4=SUSPECT5= 仅用于信息性目的标识。 不支持。 不保证以后的兼容性。6=OFFLINE7=DEFUNCT | 
| state_desc | nvarchar(60) | 文件状态的说明: ONLINERESTORINGRECOVERINGRECOVERY_PENDINGSUSPECTOFFLINEDEFUNCT有关详细信息,请参阅文件状态。 | 
| size | int | 当前文件大小(以 8 KB 为单位的页数)。 对于数据库快照来说,size 表示该快照可以一直用于文件的最大空间。 注意:此字段填充为 FILESTREAM 容器的零。 查询 sys.database_files目录视图,了解 FILESTREAM 容器的实际大小。 | 
| max_size | int | 最大文件大小(以 8 KB 为单位的页数): -1= 文件增长到磁盘已满为止。268435456= 日志文件最大大小为 2 TB。注意:使用无限的日志文件大小报告 -1升级的数据库,以获取日志文件的最大大小。注意:如果 max_size = -1和growth = 0,则不允许增长。 | 
| growth | int | 0= 文件是固定大小且不会增长。> 0= 文件自动增长。如果 is_percent_growth = 0,增长增量以 8 KB 页为单位,舍入为最接近的 64 KB。如果 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 | credential_id用于存储文件的源sys.credentials。 例如,当 SQL Server 在 Azure 虚拟机上运行,数据库文件存储在Azure Blob 存储中时,将使用访问凭据配置到存储位置。 | 
注解
在删除或重新生成大型索引时,或者在删除或截断大型表时,数据库引擎将延迟实际页释放及其关联锁,直至事务提交完毕为止。 延迟删除操作不会立即释放分配的空间。 因此,删除或截断大型对象后立即返回 sys.master_files 的值可能不会反映可用的实际磁盘空间。
tempdb对于数据库,sys.master_files显示初始tempdb大小。 这些值用作在 SQL Server 启动时创建的模板 tempdb 。 tempdb 此视图中没有反映增长。 若要获取文件的当前大小 tempdb ,请改为查询 tempdb.sys.database_files 。
权限
查看相应行所需的最小权限为 CREATE DATABASE, ALTER ANY DATABASE或 VIEW ANY DEFINITION。