首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复sql文件是个好主意吗?

修复sql文件是个好主意吗?
EN

Database Administration用户
提问于 2014-11-06 18:13:03
回答 2查看 74关注 0票数 1

我们有一个ETL进程,它将大量数据插入到表中。该数据库被设置为简单恢复模型,事务日志正在大量增长。我在想,将这个数据库设置为大容量日志恢复模型会有帮助吗?我们每天都要进行全面备份。那么,与简单恢复模型相比,是否存在一些未登录大容量日志恢复模型的操作?

EN

回答 2

Database Administration用户

发布于 2014-11-07 11:29:32

日志记录发生在所有恢复模型中。日志将保留在批量日志和完整恢复模型中,直到日志备份为止。大容量日志记录只记录某些操作,例如索引重建,这意味着在使用大容量日志记录时不能进行点到时间恢复。由于您使用的是简单的恢复模型,更改为大容量日志将无助于减少日志大小。这将使您的设置实际上更加复杂,因为您必须开始定期进行日志备份。

如果在简单恢复模型中有一个大型事务,则该事务仍将被记录并导致日志文件增长。这使您可以在任何恢复模型中回滚事务。如果您没有打开该事务(不要提交或回滚),您的日志就会不断增长。一旦提交(或回滚),日志记录信息就不再需要保留在简单的恢复模型中,而SQL server将循环地重用日志。

您的解决方案是最小化ETL插入事务的大小。您可以批量执行较小的插入,并提交这些插入(如果适合于数据一致性的话)。您还可以在ETL工具中查看事务处理。例如,SSIS允许包中的所有插入都是同一个事务的一部分,您可以改变这种行为,以便每个转换都有自己的事务。

票数 3
EN

Database Administration用户

发布于 2014-11-06 21:40:15

大容量日志恢复模型类似于完整恢复模型,因此它基本上不像简单恢复模型那样截断登录检查点。

如果您希望保持事务日志小,那么简单的恢复是您的最佳选择。如果日志正在增长,是因为向实例提交了一些大型事务,而您实际上无能为力:它是预期的,而所占用的日志空间是实例执行事务所需的。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/82091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档