sys.master_files (Transact-SQL)

更新日期: 2006 年 4 月 14 日

master 数据库中的每个文件对应一行。 这是系统范围的单个视图。 看见相应行所必需的最低权限是 CREATE DATABASE、ALTER ANY DATABASE 或 VIEW ANY DEFINITION。

列名

数据类型

说明

database_id

int

应用此文件的数据库的 ID。

file_id

int

数据库内文件的 ID。

file_guid

uniqueidentifier

文件的唯一标识符。

NULL = 数据库是从早期版本的 Microsoft SQL Server 升级的。

类型

tinyint

文件类型:

0 = 行

1 = 日志

2 = 保留以供将来使用。

3 = 保留以供将来使用。

4 = 全文

type_desc

nvarchar(60)

文件类型的说明:

ROWS

LOG

FULLTEXT

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。

ms186782.note(zh-cn,SQL.90).gif注意:

如果升级的数据库没有限制日志文件大小,则日志文件的最大大小将报告为 -1。

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 = 文件不是稀疏文件。

有关详细信息,请参阅了解数据库快照中的稀疏文件大小

is_percent_growth

bit

1 = 文件的增长以百分比表示。

0 = 以页数为单位表示绝对增长大小。

is_name_reserved

bit

1 = 可重用已删除的文件名。 必须进行日志备份后才能将该名称(namephysical_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。

ms186782.note(zh-cn,SQL.90).gif注意:
在删除或重新生成大型索引时,或者在删除或截断大型表时,数据库引擎将延迟实际页释放及其关联锁,直至事务提交完毕为止。 延迟的删除操作不会立即释放已分配的空间。 因此,sys.master_files 返回的值在删除或截断了大型对象后,可能无法立即反映出磁盘的实际可用空间。 有关延迟分配的详细信息,请参阅删除并重新生成大型对象

请参阅

参考

数据库和文件目录视图 (Transact-SQL)
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)

其他资源

文件状态
了解文件和文件组

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 4 月 14 日

新增内容:
  • 添加了必需权限。