Mysql 如何验证数据库备份

Mysql 如何验证数据库备份,mysql,sql-server,backup,mysqldump,validation,Mysql,Sql Server,Backup,Mysqldump,Validation,我有一些远程数据库,托管在我的web主机上。对于mysql,我使用定期mysqldump,对于MSSQL,我使用bcp来备份它们。 如何验证这些备份?如何确保备份不是部分备份(通过公共网络完成)。编写一个小PHP脚本(或类似脚本),打印每个表中的记录数,并将其安装到网站上。下载备份时,将其加载到本地数据库,并在本地对该数据库运行相同的脚本,将结果与web上的结果进行比较。在SQL Server中,您可以使用带有选项VERIFYONLY的RESTORE命令来验证数据库备份文件的内容 有关详细信息,

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

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

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

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

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

网上参考书籍:

作为备份数据库操作的一部分执行校验和也是一种良好做法


请参阅联机丛书:

最终,验证备份的方法是将其用于恢复。酸性测试是:您能否从备份中重新创建一个完全工作的数据库。理想情况下,您可以在进行备份的计算机之外的其他计算机上创建备份,以模拟在进行备份的计算机被破坏后的恢复


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

这是否适用于使用bcp进行的备份?我有数据库的用户权限,没有“数据库备份文件”。BCP(大容量复制实用程序)是一个用于向SQL Server导入/导出数据的程序。它不适合/不能执行真正的数据库备份,但是您当然可以使用它来获取表数据的完整副本。有关使用BCP的详细信息,请参阅:非常感谢您的澄清。我的数据库托管在web主机上,我没有访问真正的SQL数据库备份工具的权限。BCP是从站点以外获取数据的唯一选项。“”它不适合/不能执行真正的数据库备份,比如“”-->我确实成功地使用BCP从一个web主机导出数据,然后在更改托管公司时将其传输到另一个web主机。因此,对于我拥有的一个小型数据库来说,bcp“足够好”。这对于大型事务性数据库可能不太好,但我每天只添加8-10行。此外,脚本可以进行一些数据健全性检查并比较结果(前提是您还没有在数据库约束中进行所有可能的检查)。当然,验证备份的唯一方法是使用它。还原到测试服务器或类似服务器。这证明了备份、磁带或其他介质、进程等。我遇到过RDBMS报告了有效备份但无法恢复的情况。您可以推荐一个可以模拟恢复的DBMS吗?IBM Informix有一个可验证备份的编程工具archecker。