我正在使用SQL Server 2012的数据仓库,并且想知道什么是备份/恢复策略的最优化的自动化过程。
目前的观察和局限:
1)无法使用事务日志,因为它会影响我的负载性能 - 数据集在大型事务中可能很大
2)目前的计划是每周进行完整备份,每天进行差异备份
我不确定DML操作何时会发生,因为它取决于我的应用程序的用法,但有没有办法只跟踪数据库中会触发差异备份的NUMBER项更改?一种不会影响性能的方法?我不想采取不必要的差异备份。
更改跟踪是否适合我的方案?或者会涉及到开销吗?我不需要知道已更改的实际数据,只需更改一定数量的事实。
提前致谢!
答案 0 :(得分:0)
这一切都取决于您的DWH配置。 1.您的DWH数据库是否已分区?如果是,那么仅为当前分区执行每日数据库备份(差异备份)会更容易。它要备份的数据集要小得多。
如果没有,目前的计划是每周进行一次完整备份,每天进行差异备份是唯一可以使用事务日志文件的方法。
您还可以尝试第三方磁盘(块)级备份软件(即Doubletake)....
希望它有所帮助。
答案 1 :(得分:0)
您似乎错误地认为差异备份是什么。别担心;这很常见。 当您说“跟踪将触发差异备份的数据库的更改次数”之类的事情时,这意味着您认为差异备份会获得自最新完整或差异以来的所有更改。
但是,差异备份会获取自上次完全备份以来已更改的所有数据。因此,您希望后续差异备份的大小变得越来越大。例如,假设您在星期日进行完整备份,每隔一天进行一次差异备份。你会得到类似的东西:
此外,如果/何时需要还原数据库,则最多只能还原一个差异备份。例如,如果您的数据库在星期四的备份之前就崩溃了,那么您将恢复上一次完整备份(从我的示例中的星期日开始),然后是星期三的差异,然后就完成了。
至于何时安排,这通常取决于您的业务节奏。例如,您可能决定在启动ETL之前或之后进行备份。如果您需要恢复数据库,那么在执行期间没有多大意义,因为您的数据库(就ETL过程而言)是不一致的。
答案 2 :(得分:0)
嗯,就是这个(http://www.sqlskills.com/blogs/paul/new-script-how-much-of-the-database-has-changed-since-the-last-full-backup/)。我只想弄清楚你要解决的问题。也就是说,如果您发现大小低于某个阈值,那么(根据定义)它将是便宜的。