首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的恢复模型不记录批量插入吗?

简单的恢复模型不记录批量插入吗?
EN

Database Administration用户
提问于 2021-05-23 17:08:36
回答 1查看 138关注 0票数 2

我有一个完整的恢复模型的分贝。

计划中的插入数为100万行,需要在下周完成。

为了不增加日志大小,我被告知有两个选项。

选项1是切换到大容量模型,执行插入,然后切换到完整模型。这很有道理。

选项2是切换到简单的恢复模型,执行插入,然后切换到完整模型。这是真的吗?在大容量插入期间,简单恢复模型不增加日志大小吗?我知道日志在每个检查点都被清除了,但是在批量插入过程中会出现检查点吗?

EN

回答 1

Database Administration用户

发布于 2021-05-23 17:17:48

在某些情况下,可以最小限度地记录INSERT。见:批量导入中最小日志记录的先决条件

注意,如果您切换到SIMPLE恢复,那么您的日志链就坏了,在切换回FULL恢复模型之后,您将需要从一个新的完全备份开始。

如果切换到BULK_LOGGED,则插入的页面将复制到下一个日志备份中。切换到BULK_LOGGED并不会破坏链--这就是它存在的原因。

有关更多细节,请参见Sunil的批量导入优化(最小日志记录)。一些名言:

FULL恢复模型下,顾名思义,所有操作都是完全记录的。在最小日志记录下,Server不记录单个行,只记录页和区段分配。因此,如果每个页面可以容纳100行,我们将用100条日志记录换取1条日志记录,这是一个显著的改进。当批量导入事务提交时..。SQL Server将所有数据页(这些页面的子集可能已经作为检查点的一部分)刷新到磁盘,以保证事务的原子性。在进行下一首事务日志备份时,Server还备份数据页,包括适用时的索引页,作为事务日志的一部分。这将启用数据库还原,方法是还原数据库备份,然后进行零或多个事务日志备份。最小测井的唯一缺点是它不支持实时恢复.如果需要考虑这一点,则可以在大容量操作之前/之后执行事务日志备份。

因此,您通常切换回FULL恢复模型,并在执行最小日志记录操作后立即进行日志备份。

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

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

复制
相关文章

相似问题

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