2

我有一些远程数据库,托管在我的网络主机上。对于 mysql,我使用定期 mysqldump,对于 MSSQL,我使用 bcp 来备份它们。如何验证这些备份?我如何确保备份不是部分的(通过公共网络完成)。

4

3 回答 3

2

最终,验证备份的方法是将其用于还原。严峻的考验是:您能否从备份中重新创建一个完全正常工作的数据库。理想情况下,您可以在制作备份的机器以外的其他机器上创建它 - 以模拟在制作备份的机器被破坏后的恢复。

一些 DBMS 提供了允许您模拟这种恢复的工具。

于 2009-06-06T23:42:16.040 回答
2

编写一个小的 PHP 脚本(或类似脚本)来打印每个表中的记录数,并将其安装到您的网站上。当您下载备份时,将它们加载到本地数据库并针对该数据库在本地运行相同的脚本,将结果与网络上的结果进行比较。

于 2009-06-06T22:44:05.610 回答
2

在 SQL Server 中,您可以使用带有选项 VERIFYONLY 的 RESTORE 命令来验证数据库备份文件的内容。

有关详细信息,请参阅以下联机丛书参考:

http://msdn.microsoft.com/en-us/library/ms188902.aspx

对于 SQL Server 备份的进一步考虑,在执行数据库备份之前执行数据库的 DBCC CHECKDB 被认为是一种很好的做法,以确保/验证数据库数据的完整性。但是,这可能不切实际,具体取决于数据库的大小。

联机书籍参考:DBCC CHECKDB

作为备份数据库操作的一部分执行 CHECKSUM 也被认为是一种好的做法。

参见在线书籍:备份数据库

于 2009-06-06T22:47:21.517 回答