sys.master_files (Transact-SQL)
每个存储在 master 数据库中的数据库文件各占一行。 这是一个系统范围视图。
列名 |
数据类型 |
说明 |
||
---|---|---|---|---|
database_id |
int |
应用此文件的数据库的 ID。 master database_id 始终为 1。 |
||
file_id |
int |
数据库内文件的 ID。 主 file_id 始终为 1。 |
||
file_guid |
uniqueidentifier |
文件的唯一标识符。 NULL = 数据库是从早期版本的 SQL Server 升级的。 |
||
type |
tinyint |
文件类型: 0 = 行。 (包括升级到的或在 SQL Server 2012中创建的全文目录的文件)。 1 = 日志 2 = FILESTREAM 3 = 标识为仅供参考。不提供支持。不保证以后的兼容性。 4 = 全文(SQL Server 2012之前的全文目录;升级到的或在 SQL Server 2012 中创建的全文目录将报告文件类型 0。) |
||
type_desc |
nvarchar(60) |
文件类型的说明: ROWS(包括升级到的或在 SQL Server 2012中创建的全文目录的文件)。 LOG FILESTREAM FULLTEXT(SQL Server 2012之前的全文目录。) |
||
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 表示该快照可以一直用于文件的最大空间。
|
||
max_size |
int |
最大文件大小(以 8 KB 为单位的页数): 0 = 不允许增长。 -1 = 文件将一直增长到磁盘充满为止。 268435456 = 日志文件将增长到最大大小 2 TB。
|
||
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。 除非 state = RESTORING 或 state = RECOVERY_PENDING,否则为 NULL。 |
||
redo_start_fork_guid |
uniqueidentifier |
恢复分叉的唯一标识符。 还原的下一个日志备份的 first_fork_guid 必须与此值匹配。 这将展示容器的当前状态。 |
||
redo_target_lsn |
numeric(25,0) |
对此文件的联机前滚可以停止时的 LSN。 除非 state = RESTORING 或 state = RECOVERY_PENDING,否则为 NULL。 |
||
redo_target_fork_guid |
uniqueidentifier |
可恢复容器的恢复分叉。 与 redo_target_lsn 配对。 |
||
backup_lsn |
numeric(25,0) |
文件的最新数据或差异备份的 LSN。 |
注意 |
---|
在删除或重新生成大型索引时,或者在删除或截断大型表时,数据库引擎将延迟实际页释放及其关联锁,直至事务提交完毕为止。 延迟的删除操作不会立即释放已分配的空间。 因此,删除或截断一个大型对象后 sys.master_files 随即返回的值可能无法反映可用的实际磁盘空间。 |
权限
查看相应行所必需的最低权限是 CREATE DATABASE、ALTER ANY DATABASE 或 VIEW ANY DEFINITION。
请参阅
参考
sys.database_files (Transact-SQL)