- Overview of In-Memory OLTP
- In-Memory Optimization Requirements
- Limitations of In-Memory OLTP
- Using In-Memory OLTP
- Using Memory-Optimized Tables
- Logging, Checkpoint, and Recovery for In-Memory OLTP
- Managing Memory for In-Memory OLTP
- Backup and Recovery of Memory-Optimized Databases
- Migrating to In-Memory OLTP
- Dynamic Management Views for In-Memory OLTP
- The Buffer Pool Extension
- Summary
In-Memory Optimization Requirements
The In-Memory OLTP engine is supported only in the 64 bit Enterprise, Developer, or Evaluation editions of SQL Server 2014 running in a 64 bit version Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2 SP2. The In-Memory OLTP engine also requires an x64 server that supports the cmpxchg16b instruction, which all modern x64 processors do. You may run into a problem if you are implementing the In-Memory OLTP engine in a 64-bit virtual machine (VM) that’s using an older virtual processor.
SQL Server will also require enough memory to store the tables and indexes of the tables you designate to be memory-optimized, plus additional memory for the row versions. The general recommendation is to allocated memory that is two times the on-disk size of the memory-optimized tables and indexes with a recommended maximum of 250GB. You also should have free disk space that’s two times the size of your durable memory-optimized tables.