数据完整性问题

若要确保数据完整性,文件的备份副本必须是原始文件在给定时间点的准确映像。 但是,复制文件并不是一个瞬间完成的过程。 除非文件非常小,否则,备份客户端必须多次读取文件并写入到备份介质,这样才能得到完整的副本。 如果备份客户端不能确保在它进行复制的过程中没有其他应用程序修改该文件,所复制的数据就可能出现完整性问题。

示例:复制八次连续的读取和写入操作

以一个需要经过八次连续的读取和写入操作才能完成复制的文件为例来说明数据的完整性问题。

说明数据完整性问题

备份客户端依次复制每个块。 备份过程进行到一半,正在复制第 4 块时,某一应用程序对第 2 和第 6 块做了微小的更改,这些更改构成了一个单独的事务(例如,借方与其相应的贷方)。 备份将捕获对第 6 块所做的更改,但因为第 2 块已完成复制,所以无法捕获对第 2 块所做的更改。 因此,该备份副本包含了很可能导致整个备份无效的不完整事务,因为创建该文件的应用程序可能认为文件已经损坏。

这是数据库应用程序中的一个常见问题。 多个用户可能要求同时访问某个特定的文件,同时,一个单独的事务也可能在该文件中的不同地方、甚至在一组文件中进行多处微小的更改。