FIX: Error messages are logged when you execute a non-cacheable auto-parameterized query in SQL Server 2012 or 2014

Symptoms

When SQL Server is running a non-cacheable auto-parameterized query, the query may produce an access violation under rare conditions. The access violation is recorded in the SQL Server error log together with a call stack that contains the following example fragment:

***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\LOG\SQLDump0010.txt
SqlDumpExceptionHandler: Process #### generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
* *******************************************************************************
*
* BEGIN STACK DUMP:
* date time spid #
*
*
* Exception Address = 000007FA0B512E2F Module(sqllang+0000000000E72E2F)
* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
* Access Violation occurred reading address 0000000000000018
*
* Input Buffer ### bytes -
* select identifier, registration_date, model, digit, place, failure, address,
* remote_control, phone_number, state, location, updated, mta,
* home_id, vod_address, observations
* from equipment with(nolock)
* where branch_group = 1 and equipment_type = 2
* and series = 'SERIES_AAA'
*
* *******************************************************************************
* -------------------------------------------------------------------------------
* Short Stack Dump
000007FA0B512E2F Module(sqllang+0000000000E72E2F)
000007FA0B57D7D2 Module(sqllang+0000000000EDD7D2)
000007FA0A74788B Module(sqllang+00000000000A788B)
000007FA0A746B5C Module(sqllang+00000000000A6B5C)
000007FA0A747034 Module(sqllang+00000000000A7034)
000007FA0A746F8C Module(sqllang+00000000000A6F8C)
000007FA0A6C9851 Module(sqllang+0000000000029851)
000007FA0AB5CF5C Module(sqllang+00000000004BCF5C)
000007FA0AB54397 Module(sqllang+00000000004B4397)
000007FA09990430 Module(sqldk+0000000000010430)
000007FA09990214 Module(sqldk+0000000000010214)
000007FA0998FEF7 Module(sqldk+000000000000FEF7)
000007FA099AF15F Module(sqldk+000000000002F15F)
000007FA099AF1E0 Module(sqldk+000000000002F1E0)
000007FA099AE70E Module(sqldk+000000000002E70E)
000007FA099AEFB9 Module(sqldk+000000000002EFB9)
000007FA17411832 Module(KERNEL32+0000000000001832)
000007FA19B1D609 Module(ntdll+000000000005D609)

In this example, the symptoms are as follows: 
  • A simple query that has one or more constants in its WHERE clause. SQL Server may auto-parameterize these constants.
  • The "Access Violation occurred reading address 0000000000000018" string. (This string ends in "18" on 64-bit systems, "0C" on 32-bit systems.)
  • The contents of the short stack dump will have the same or similar depth and relative positions of stack frames (not necessarily an exact match).

    Note This example is taken from a 64-bit instance of SQL Server. It will be different but still recognizable in an example from a 32-bit instance.

Cumulative Update information

This issue was first fixed in the following cumulative update of SQL Server.




Recommendation: Install the latest cumulative update for SQL Server

Status

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

References

Learn about the terminology that Microsoft uses to describe software updates.
Ιδιότητες

Αναγνωριστικό άρθρου: 3068703 - Τελευταία αναθεώρηση: 2 Σεπ 2015 - Αναθεώρηση: 1

Σχόλια