我有一些远程数据库,托管在我的网络主机上。对于 mysql,我使用定期 mysqldump,对于 MSSQL,我使用 bcp 来备份它们。如何验证这些备份?我如何确保备份不是部分的(通过公共网络完成)。
user118660
问问题
4394 次
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 回答