In-Memory OLTP – what’s new in SQL2016 CTP3

We have been hard at work to add features to In-Memory OLTP to make it easier to build apps and to adopt In-Memory OLTP in existing apps, as well as to increase overall performance and scaling. Below is the list of In-Memory OLTP enhancements that we have released in SQL2016 thus far, up to and including CTP3. There is more to come!

Let us know what you think!


Transact-SQL Improvements:

Disjunction (OR, NOT)




Subqueries in SELECT statements (EXISTS, IN, scalar subqueries)

Nested execution (EXECUTE) of natively compiled modules

Natively compiled inline table-valued functions (TVFs)

EXECUTE AS CALLER support – the EXECUTE AS clause is no longer required for native modules

Built-in security functions and increased support for built-in math functions

  • Support with memory-optimized tables for:

FOREIGN KEY constraints between memory-optimized tables

CHECK constraints

UNIQUE constraints

Triggers (AFTER) for INSERT/UPDATE/DELETE operations. Triggers on memory-optimized tables are natively compiled, and thus use WITH NATIVE_COMPILATION.

  • ALTER and sp_recompile support for natively compiled procedures, functions, and triggers
  • ALTER TABLE support for schema and index changes

The new ALTER TABLE … ADD/DROP/ALTER INDEX syntax is introduced for index changes on memory-optimized tables

  • Full support for collations and code pages

(var)char columns can use any code page supported by SQL Server

Character columns in index keys can use any SQL Server collation

Expressions in natively compiled modules as well as constraints on memory-optimized tables can use any SQL Server collation

Performance and Scaling improvements:

  • Increased data size: a database can now have up to 2 terabytes of user data in memory-optimized tables with SCHEMA_AND_DATA. [Edit 7/1/2016: the there is no longer a limit on user data size with memory-optimized tables see this blog for details]
  • Scalability improvements in the persistence layer
  • Parallel plan support for Accessing Memory-Optimized Tables Using Interpreted Transact-SQL
  • Parallel scan support for HASH indexes

Enhancements in SQL Server Management Studio:

  • The transaction analysis report no longer requires the configuration of data collectors or management data warehouse. The report can now run directly on a production database. Simply right-click on the database and select Reports -> Standard Reports -> Transaction Performance Analysis Report.
  • PowerShell Cmdlet for Migration Evaluation for evaluating the migration fitness of multiple objects in a SQL Server database.
  • Generate migration checklists by right-clicking on a database, and selecting Tasks -> Generate In-Memory OLTP migration checklists

Cross-feature support:


For more information, see In-Memory OLTP (In-Memory Optimization).