我为具有以下规格的客户端管理 Web 应用程序:
- 在虚拟 Windows 2003 Web 服务器上运行的 ASP.net 3.5
- 托管数据库的 SQL Server Standard
- 数据库当前大小为 6Gb,增长率为 1Gb/月
- 一张表负责 98% 的大小,为客户保存最关键的数据
- 这个大表不保存日志,只在这个表中进行选择
- 50 Gb FTP 空间可用于备份
考虑到这种情况,SQL 备份的最佳策略是什么?什么工具最适合这个任务(包括商业应用程序,客户可以支付许可费)?
我为具有以下规格的客户端管理 Web 应用程序:
考虑到这种情况,SQL 备份的最佳策略是什么?什么工具最适合这个任务(包括商业应用程序,客户可以支付许可费)?
这取决于数据的重要性。然而,这就是我的做法。1. 每天运行一次完整备份。2. 每 4 小时运行一次差异备份。3. 每 15 分钟运行一次事务日志备份 4. 在站点上保留一份副本,并在备份完成后立即将一份副本移出站点。
数据库不是太大,这很容易做到。
使用Redgate SQL Backup等第三方工具,它会自动为您压缩和加密数据库备份。我已经广泛使用它并且是它的忠实粉丝。
此外,如果您有另一个可用站点,并且数据非常关键,您可能还需要考虑设置日志传送。
这是我们用于 CodePlex.com 的策略:
测试您的备份也非常重要! 研究表明,超过 30% 的未经测试的备份程序存在缺陷。这是我们的备份测试策略:
这是VPC?可以安装应用吗?
这就是我们使用的 - 制作一个每天推送备份的 sql 作业,然后使用该服务将副本推送回 Amazon S3 服务。如果不是,也许你可以有一个本地应用程序将备份拉到一台机器上,然后将它推送到 /w S3 webservice,或者仍然使用 Jungledisk。
这个很重要!如果您的应用程序出现故障,那会很痛苦!还要确保备份您部署的应用程序和存储在那里的资源......即上传内容到您的应用程序存储目录。
我应该输入我对您问题的答案,但我意识到在 SQLServerCentral.com 中的这篇文章之类的地方有很多更多的资源。您还可以找到很多像这样的“备份最佳实践” 。
您可能还需要考虑您可以承受丢失多少数据以及恢复数据库需要多长时间。您的客户可能会决定他们永远不想丢失超过 15 分钟的数据,或者他们可能会认为丢失长达一天的数据对他们来说是可以接受的。