FIX: Access violation occurs when you restore In-Memory OLTP database in SQL Server 2016

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Express

Symptoms


When you try to restore In-Memory on-line transaction processing (OLTP) database, it fails because of insufficient disk space. Then, you may notice that an access violation (AV) occurs and get the following dump file.

Access violation dump
DateTime SpidId    Using'dbghelp.dll' version 'VersionId'
DateTime SpidId    ***Stack Dumpbeing sent to FilePath
DateTime SpidId    SqlDumpExceptionHandler:Process 346 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQLServer is terminating this process.
DateTime SpidId    * BEGIN STACKDUMP:
DateTime SpidId    *   CurrentTime spid SpidId
DateTime SpidId    *   Exception Address = 00007FFB7E6DA7B5Module(sqlmin+00000000018CA7B5)
DateTime SpidId    *   Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION
DateTime SpidId    *   Access Violation occurred reading address00000000000000B4
DateTime SpidId    *  MODULE                          BASE      END      SIZE
DateTime SpidId    * sqlservr                       00007FF65AAA0000  00007FF65AB07FFF  00068000
DateTime SpidId    * ntdll                          00007FFBA0470000  00007FFBA061CFFF  001ad000
DateTime SpidId    * KERNEL32                       00007FFBA0190000  00007FFBA02CDFFF  0013e000

In addition, you may receive an assertion dump that resembles the following if you try to drop the database.

Assertion dump
DateTime SpidId     **Dump thread -spid = SPIDId, EC = 0x0000024216677B60
DateTime SpidId     ***Stack Dumpbeing sent to FilePath
DateTime SpidId     * BEGIN STACKDUMP:
DateTime SpidId     *   CurrentTime spid SPIDId
DateTime SpidId     *Location:        "FilePath":10210
DateTime SpidId     *Expression:        LdImm(&db->CkptContext->CheckpointCount) == 0
DateTime SpidId     *SPID:                SPIDId
DateTime SpidId     * ProcessID:         ProcessID
DateTime SpidId     * Input Buffer252 bytes -
DateTime SpidId     *             /****** Object:  Database [DatabaseName]    Script Date: ScriptDate
DateTime SpidId     *  /CurrentTime ******/  DROP DATABASE [DatabaseName]

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. 

Resolution


This issue is fixed in the following cumulative update for SQL Server:
About cumulative updates for SQL Server:
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

References


Learn about the terminology that Microsoft uses to describe software updates.