我说的是一个包含数百个 DBF 格式数据文件的数据集,这些数据文件位于一个共享位置,其中一些或全部可能被多个网络用户打开或锁定,并且 Microsoft 的数据保护管理器每两小时复制一次。
这种情况下‘快照’可以依赖吗?
答案1
就我个人而言,我不会指望你的快照会很好。这取决于应用程序对数据文件的访问模式,可能很幸运,但我也不会成为农场主。
任何时候你从一个不知道快照的应用程序拍摄数据快照(这将是每一个使用“共享文件数据库”应用程序时,您可能会获得不一致的副本。
当然,您可以准确获得快照时磁盘上的内容,但您不知道应用程序的一个或多个用户实例是否正在更新数据。由于没有服务器端数据库引擎,因此没有机制来指示所有客户端将它们打开的文件置于一致状态。当然,文件服务器计算机上的底层操作系统将在拍摄快照之前停止文件系统的 I/O,但您不知道应用程序本身在做什么愚蠢的事情(将未写入的数据保存在客户端的内存中等)。
如果您真的想确保安全,请在不使用 DBF 文件时定期对其进行备份。如果您愿意,也可以拍摄快照,您可能会很幸运,但至少如果快照结果很糟糕,您还有“未使用”的备份可以依靠。
答案2
不管怎样,我们使用恍然大悟用于实时(或接近实时)备份共享平面文件。
它非常昂贵,但这是我们找到的唯一可靠的选择。我们有大约 20Gb 的 Pervasive Btrieve 文件。
自从我们转向 SQL Server 以来,我们剩下的平面文件就很少了,而且大多数文件现在大多数时候都处于解锁状态,我们发现简单的 DFS 足以确保定期备份它们。