数据库快照中的稀疏文件大小

4月 2nd, 2011

数据库快照使用一个或多个稀疏文件来存储数据.创建数据库快照期间,可以使用 CREATE DATABASE 语句中的文件名来创建稀疏文件.这些文件名存储在 sys.master_files 中的 physical_name 列中.

注意: sys.database_files (无论是在源数据库中还是在快照中),physical_name 列中始终包含源数据库文件的名称.

稀疏文件是 NTFS 文件系统的一项功能.最初,稀疏文件不包含用户数据,因为未向其分配磁盘空间用来存储用户数据.

首次创建稀疏文件时,稀疏文件占用的磁盘空间非常少.随着数据写入稀疏文件,NTFS 会逐渐分配磁盘空间.稀疏文件可能会占用非常大的磁盘空间.如果数据库快照用尽了空间,将被标记为可疑,必须将其删除.但是,源数据库不会受到影响;对其执行的操作仍能继续正常进行.

稀疏文件按 64 KB 的增量增长;因此,磁盘上稀疏文件的大小始终是 64 KB 的倍数.根据从源数据库复制的页数,最新增长的 64 KB 可存放一到八个 8 KB .这意味着稀疏文件的大小一般来说会稍大于页实际填充的空间.

  • 查看稀疏文件的实际大小
    若要了解快照的每个稀疏文件当前在磁盘上使用的字节数,可以使用sys.dm_io_virtual_file_stats动态管理视图的 size_on_disk_bytes 
    .
    另外,若要查看稀疏文件占用的磁盘空间,也可以在 Microsoft Windows 中右键单击文件,再单击属性“,然后查看占用空间.
  • 查看稀疏文件的最大大小
    稀疏文件最大只能增长到创建快照时相应的源数据库文件的大小.若要了解此大小,可以使用下列方法之一:

    • 使用 Windows dir 命令.
    •  Windows ,选择稀疏文件,打开文件属性对话框,然后查看大小.
    • 从数据库快照的 sys.database_files 中或从 sys.master_files 中选择 size.sys.database_files  sys.master_files 中的 size 列反映了快照曾经使用过的最大空间(SQL 页数);此值相当于 Windows 大小字段,不同的是此值以文件中包含的 SQL 页数表示;大小(以字节为单位)🙁页数 * 8192)
目前还没有任何评论.
您必须在 登录 后才能发布评论.