我正在开发一个非常大的数据库(250 多个演出),其中包含超过 2.25 亿条记录。仅从其庞大的规模来看,该数据库很难使用。此数据库将仅用作只读。
我们正在寻找更快的硬件,但无论哪种方式,我都试图找到使用数据库的最有效方式。该数据库必须每晚从主数据库更新,并且必须将停机时间保持在最低限度。主数据库由第三方维护。
我正在尝试找到每晚有效更新数据库的最佳方法,但我运气不佳。我查看了差异和事务日志备份,但为了应用其中任何一个,必须首先恢复完整的数据库备份。就我而言,这完全违背了差异备份的目的,因为它不会为我节省任何 [停机] 时间。我不妨每晚在主数据库上进行一次完整备份,然后简单地恢复完整备份,这样会更快。
我希望找到一个解决方案,我可以完成一次完整备份(或者可能每月一次),然后从那时起简单地应用某种类型的增量备份(基于原始完整备份),这些备份相互建立. 这会将停机时间降至最低,因为一旦完成第一次完整备份,我只会每晚应用增量备份。我会在每次“增量”备份后重建索引以提高速度。我还没有成功地找到任何像这样真正可行的解决方案。
我尝试在测试数据库上使用 STANDBY 进行完全恢复,这样我可以查询数据,然后仍然应用事务日志并且只应用事务日志。这是一个有限的成功,因为我无法做诸如添加索引之类的事情,因为这在技术上是写入数据库。但是,这与我正在寻找的非常接近,因为数据本身将是只读的。有什么解决方案可以像这样工作吗?我宁愿不要使用 STANDBY 选项这样做,因为它不应该以这种方式使用。
我刚刚潜入并对数据库备份和性能进行了大量研究,不断阅读 MSDN——但似乎这个解决方案不是一个选择。我想我会作为最后的手段问 - 当然这里有一些管理大型数据库,每晚进行恢复是不切实际的。
有什么建议么?我也愿意接受有关性能页面的建议/链接,因为我从未使用过这么大的数据库。
恐怕复制可能是唯一的答案。