我有一个数据库,其LDF文件约为14GB,而MDF文件约为12GB。
没有人为此数据库执行过事务日志备份。
尽管团队始终每天早晨执行完整数据库备份。
导致日志文件大小越来越大。
现在,如果我对其事务日志进行备份并截断日志文件。
我会丢失任何数据吗?
我很好奇,因为进行日志备份会减少日志文件的大小,我只想确保它们不会对数据库中的MDF文件或数据产生任何影响。
在进行t-log备份后,有什么好的策略?
我们应该还原它以检查其是否正常运行吗?
如果我还原了t-log备份,是否必须首先在该测试服务器上应用完全备份还原?
[SQL Server 2012]
答案 0 :(得分:2)
简短的答案是“您不会比平时所遭受的损失更多”。但是,有几种情况可能会影响您的最终决定。
您的团队应该问自己的第一个问题是:“如果我们从不进行日志备份,那么为什么数据库处于完全恢复模式”?对于DEV数据库,在大多数情况下不需要日志备份,因此将其切换为SIMPLE
恢复,发出checkpoint
,然后可以截断日志。哦,此后它应该不会增长太多,除非有人会在单个事务中运行大型修改批处理。
只需确保您在截断模式之间understand the difference即可。很有可能,您将需要同时使用NOTRUNCATE和TRUNCATEONLY。
是否应定期开始进行日志备份取决于您的工作流程和数据的重要性。完全恢复模式的主要优点是:
因此,请权衡这些选项,考虑一下您的具体情况,然后就会得出答案。如果不是这样,我建议您将注意力转移到dba.stackexchange.com,因为当前形式的问题实际上与开发无关。
答案 1 :(得分:0)
您的数据库恢复模型为full
,这意味着sql
在获得日志备份之前不要过度写入ldf
数据页面,然后对其进行过度写入
之后,除非您有大笔交易,否则日志不会变大
因此,您可以声明一些日志备份作业或将恢复模型更改为简单
当然,完全恢复模式会更好,但是请记住,您应该保留上次完全备份后进行的每个日志备份