sys.master_files (Transact-SQL)
适用于: 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) | 文件类型的说明:ROWS LOG FILESTREAM FULLTEXT (早于 SQL Server 2008(10.0.x)的全文目录)。 |
data_space_id |
int | 此文件所属数据空间的 ID。 数据空间是一个文件组。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 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
。