SQL Server 2017 日志文件增长与内存优化表

Alb*_*tti 3 sql-server transaction-log memory-optimized-tables sql-server-2017

我开始使用内存优化表,我遇到的问题是日志文件也随着数据库置于简单模式而增长。

在我的维护计划中,我检查点并缩小,但仍然存在问题。如果我将表恢复到普通磁盘表,一切看起来都很好。

有人知道原因吗?

数据库LOG_REUSE_WAIT_DESCsys.databases.

所有的 mem opt 表都在 SCHEMA_ONLY 模式中,但仍然是完整的日志记录。

SQL Server 2017 版本 14.0.3037

我还在 SQL Server 错误日志中看到这些消息:

spid38s,Unknown,[INFO] 数据库 ID:[5]。删除不可恢复的检查点表行 (id: 669)
spid102,Unknown,[INFO] HkHostFreezeCkptTrimming()。数据库 ID:[5]。HkTrimLSN 冻结:1
spid102,未知,[信息] getMaxUnrecoverableCheckpointId()。数据库 ID:[5]。日志 LSN 开始:00001714:000004E0:0002 用于在完整备份期间修剪不可恢复的检查点文件表

内存优化表的大小情况: 内存优化表

基于磁盘的表的大小情况: 基于磁盘的表

Ned*_*ter 5

首先,如果您使用持久内存优化表,则内存优化端的所有内容都将被完全记录 - 不遵守数据库恢复设置。

接下来,您的 2017 安装是否已完全修补?自 RTM 以来,已对 In-Memory 引擎进行了许多修复。

为了清除日志中的内存优化事务,它们还必须写入检查点文件对。如果需要扩展/添加 CFP,而承载它们的驱动器/卷不能这样做,则无法清除事务日志。