查看数据库快照稀疏文件的大小(Transact-SQL)

本主题介绍如何使用 Transact-SQL 来验证 SQL Server 数据库文件是否为稀疏文件,并找出其实际大小和最大大小。 稀疏文件是 NTFS 文件系统的一项功能,由 SQL Server 数据库快照使用。

注释

在创建数据库快照期间,使用 CREATE DATABASE 语句中的文件名创建稀疏文件。 这些文件名存储在sys.master_filesphysical_name列中。 在 sys.database_files (无论是源数据库中还是快照中), physical_name 列始终包含源数据库文件的名称。

验证数据库文件是否为稀疏文件

  1. 在 SQL Server 实例上:

    sys.database_files中的数据库快照或sys.master_files中选择is_sparse列。 该值指示文件是否为稀疏文件,如下所示:

    1 = 文件是稀疏文件。

    0 = 文件不是稀疏文件。

了解稀疏文件的实际大小

注释

稀疏文件以 64 KB 为增量增长:因此,磁盘上稀疏文件的大小始终为 64 KB 的倍数。

若要查看快照的每个稀疏文件当前在磁盘上使用的字节数,请查询 SQL Server sys.dm_io_virtual_file_stats动态管理视图的size_on_disk_bytes列。

若要查看稀疏文件使用的磁盘空间,请右键单击 Windows Microsoft 中的文件,单击“ 属性”,然后查看 磁盘值上的“大小 ”。

了解稀疏文件的最大大小

稀疏文件可增大的最大大小是创建快照时相应源数据库文件的大小。 若要了解此大小,可以使用以下替代方法之一:

  • 使用 Windows 命令提示符:

    1. 使用 Windows dir 命令。

    2. 选择稀疏文件,在 Windows 中打开“文件 属性 ”对话框,并查看 “大小 ”值。

  • 在 SQL Server 实例上:

    sys.master_files或数据库快照中的sys.database_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)