USN_RECORD_V4 结构中报告的范围比实际更改大得多

问题描述 投票:0回答:1

我们使用 USN 更改日志来跟踪 SQL 数据文件的更改以执行增量备份。

对于大文件(大小为 5 TB),我们看到 USN_RECORD_V4 有范围报告文件的很大一部分被修改,但文件的实际更改非常少。

我想了解如何以及何时将 USN_RECORD_EXTENT 添加到 USN_RECORD_V4。

在什么场景下,USN_RECORD_V4中会增加一个extent,但数据不会被覆盖。

有一天,我观察到一个大小为 5 TB 的文件有 943 条记录。在这 943 条记录中,该文件有 3 个连续记录,其范围对应于大约 330 GB、220 GB 和 4300 GB 的更改数据。所有其他 940 条记录合计报告的 70 GB 数据均已更改。

但该文件的实际更改仅为 600 GB(我们以 16KB 粒度对两个版本文件的文件备份进行了比较)。因此,这三个大记录对应于文件中的一些实际更改,但报告了一些未修改的非常大的范围。

因此,我们的备份软件所做的工作比应有的要多。

windows winapi usn
1个回答
0
投票

如何以及何时将 USN_RECORD_EXTENT 添加到 USN_RECORD_V4。

Reason
标识自文件或目录打开以来在此文件或目录日志记录中累积的更改原因的标志。

我建议你可以查看记录的

Reason

在什么场景下,USN_RECORD_V4中会增加一个extent,但数据不会被覆盖。

根据文档:更改日志记录

对同一文件进行多次更改可能会导致仅向当前记录添加一个原因标记。如果同一类型的更改发生多次,NTFS 文件系统不会为第一次之后的更改写入新记录。

© www.soinside.com 2019 - 2024. All rights reserved.