查看数据库快照的稀疏文件大小 (Transact-SQL)
本主题介绍如何使用 Transact-SQL 验证SQL Server数据库文件是否为稀疏文件,并找出其实际大小和最大大小。 稀疏文件是 NTFS 文件系统的一项功能,由SQL Server数据库快照使用。
注意
创建数据库快照期间,可以使用 CREATE DATABASE 语句中的文件名来创建稀疏文件。 这些文件名存储在 sys.master_files 中的 physical_name 列中。 在 sys.database_files 中(无论是在源数据库中还是在快照中), physical_name 列中始终包含源数据库文件的名称。
验证数据库文件是稀疏文件
在 SQL Server 实例上:
从数据库快照的 sys.database_files 中或从 sys.master_files 中选择 is_sparse列。 该值指示文件是否是稀疏文件,如下所示:
1 = 文件是稀疏文件。
0 = 文件不是稀疏文件。
查看稀疏文件的实际大小
注意
稀疏文件按 64 KB 的增量增长;因此,磁盘上稀疏文件的大小始终是 64 KB 的倍数。
若要查看快照的每个稀疏文件当前在磁盘上使用的字节数,请查询SQL Server size_on_disk_bytes列sys.dm_io_virtual_file_stats动态管理视图。
若要查看稀疏文件占用的磁盘空间,在 Microsoft Windows 中右键单击文件,再单击“属性”,然后查看“占用空间”值。
查看稀疏文件的最大大小
稀疏文件最大只能增长到创建快照时相应的源数据库文件的大小。 若要了解此大小,可以使用下列方法之一:
使用 Windows 命令提示符:
使用 Windows dir 命令。
在 Windows 中,选择稀疏文件,打开文件 “属性” 对话框,然后查看 “大小” 值。
在 SQL Server 实例上:
从数据库快照的 sys.database_files 中或从 sys.master_files 中选择 size列。 “大小” 列的值反映快照可以使用的最大空间(SQL 页数);此值相当于 Windows 的 “大小” 字段,不同的是此值以文件中包含的 SQL 页数表示;大小(以字节为单位)为:
( number_of_pages * 8192)
另请参阅
数据库快照 (SQL Server)
sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)