我制定了一个维护计划来执行:
数据库处于完全恢复模式。
这个想法是在SQL Server完全备份完成后,让磁带备份代理每天晚上备份完整备份文件。
不过,我很困惑如何设置事务日志的备份文件。
处理的最佳做法是什么?
总而言之,设置Full和Trans Log备份计划的最佳做法(根据文件具体情况而定)是什么,然后将其备份到Tape?
谢谢,A-non-dba-developer
就我个人而言,我有一个12GB(并不断增长)的数据库,每晚都有一个备份。 我在磁盘上保存了5天,每个文件都在自己的文件中,并且每晚保留一个月左右将它们复制到磁带上。 我也有交易日志每小时发货,每个都有自己的文件。 我保留了3天左右的时间,但是不要将它们复制到磁带上。 如果我升级磁带上的存储,我可能也会启动这个function,不过最有可能不需要(IMO),因为您之间有夜间备份。
正如Peter所说,将备份保留在磁盘上至less几天可以使恢复更快更简单,更不用说为了debugging的原因而将其恢复到辅助数据库。 还有一个很好的保留磁带的长度。 对我来说不是一个问题,但是如果你在应用程序中有删除function,并且客户端有一个'哎呀我删除了一些东西…一个月前,我需要今天,你能把它拿回来吗? 键入时刻。
编辑:
在回答评论和扩大我的答案在这里一点。 我使用第二个/第三个SQL作业为我pipe理文件。 在SQL 2005中,我遇到了pipe理文件不能正确删除的问题,所以我写了一些代码(VBScript)为我做了一个计划任务,直到删除它。 但是,在SQL 2008中,他们修复了这个问题,或者我做了一个更好的configuration,删除了旧的备份,旧的日志文件,甚至还有一个保持数据库健康的文件。 然后我使用一些VB脚本将我的文件复制到“磁带”,我真的应该重写在C#下一次我觉得无聊。 我使用IOMEGA REV驱动器/磁盘作为我的“磁带”,他们工作得很好。
我认为最好的做法是在光盘上保留三天的完整备份,并通过磁带备份代理(veritas / tivoli等)将它们扫描到磁带上。
事务日志备份通常被configuration为与完整备份一起进入相同的驱动器区域,磁带备份代理也将捕获它们。
这意味着在出现还原要求的情况下,您可以从最近三天的备份中快速还原。 再往后,你需要把它从磁带上取下来。