使用 Memory-Optimized 表的要求

除了 安装 SQL Server 2014 的硬件和软件要求外,以下是使用 In-Memory OLTP 的要求:

  • SQL Server 2014 的 64 位企业版、开发人员版或评估版。

  • SQL Server 需要足够的内存来保存内存优化表和索引中的数据。 为了考虑行版本问题,您应提供一倍于内存优化表和索引预期大小的内存量。 但所需的实际内存量取决于工作负荷。 应监视内存使用情况,并根据需要进行调整。 内存优化表中数据的大小不能超过池的允许百分比。 若要发现内存优化表的大小,请参阅sys.dm_db_xtp_table_memory_stats(Transact-SQL)。

    如果数据库中有基于磁盘的表,则需要为缓冲池提供足够的内存,并对这些表进行查询处理。

    必须知道 In-Memory OLTP 应用程序需要多少内存。 有关详细信息,请参阅 Memory-Optimized 表的估计内存要求

  • 磁盘上的可用空间应为持久内存优化表大小的两倍。

  • 处理器需要支持指令 cmpxchg16b 才能使用 In-Memory OLTP。 所有新式 64 位处理器都支持 cmpxchg16b

    如果使用 VM 主机应用程序和 SQL Server 显示由较旧处理器引起的错误,请参阅应用程序是否具有允许 cmpxchg16b 的配置选项。 如果没有,可以使用支持 cmpxchg16b 的 Hyper-V,而无需修改配置选项。

  • 若要安装 In-Memory OLTP,请在安装 SQL Server 2019 (15.x) 时选择 数据库引擎服务

    若要安装报表生成(确定是否应将表或存储过程移植到 In-Memory OLTP)和 SQL Server Management Studio(若要通过 SQL Server Management Studio 对象资源管理器管理 In-Memory OLTP),请在安装 SQL Server 2019(15.x)时选择“管理工具 -基本 ”或 “管理工具-高级 ”。

有关使用 In-Memory OLTP 的重要说明

  • 数据库中所有持久表的总内存中大小不应超过 250 GB。 有关详细信息,请参阅 Memory-Optimized 表的持久性

  • 此版本的 In-Memory OLTP 专为在具有 2 个或 4 个插槽且核心少于 60 个的系统上实现最佳性能而设计。

  • 不得手动删除检查点文件。 SQL Server 自动对不需要的检查点文件执行垃圾回收。 有关详细信息,请参阅“Memory-Optimized 表的持续性”中关于合并数据和增量数据文件的讨论。

  • 在此 In-Memory OLTP(在 SQL Server 2014 中)的第一个版本中,删除内存优化的文件组的唯一方法是卸载数据库。

  • 如果在有并发插入或更新工作负荷影响要删除的行范围时尝试删除大量行,则删除作可能会失败。 解决方法是在删除之前停止插入或更新工作负荷。 或者,您可以将事务配置为较小的事务,这样受到并发工作负载影响的可能性会更小。 对于内存优化表的所有写入操作,请使用重试逻辑(Memory-Optimized 表上的事务重试逻辑指南)。

  • 如果使用内存优化表创建一个或多个数据库,则应为 SQL Server 实例启用即时文件初始化(为 SQL Server 服务启动帐户授予SE_MANAGE_VOLUME_NAME用户权限)。 如果没有即时文件初始化,则在创建时内存优化的存储文件(数据和增量文件)将自行初始化,这可能会对工作负荷的性能带来不利影响。 有关即时文件初始化的详细信息,请参阅 数据库文件初始化。 有关如何启用即时文件初始化的信息,请参阅 如何和为什么启用即时文件初始化

本文是否帮助你? 我们正在倾听

你正在寻找什么信息,你找到了它吗? 我们正在听取你的反馈来改进内容。 请将您的意见提交到 sqlfeedback@microsoft.com

另请参阅

内存中 OLTP(内存中优化)