FIX: "A system assertion check has failed" error message when you run a Transaction-SQL query in Microsoft SQL Server 2008 or in Microsoft SQL Server 2008 R2

Article translations Article translations
Article ID: 980832 - View products that this article applies to.
Microsoft distributes Microsoft SQL Server 2008 and Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 or SQL Server 2008 R2 fix release.
Expand all | Collapse all

On This Page

SYMPTOMS

When you run a Transaction-SQL query in Microsoft SQL Server 2008 or in SQL Server 2008 R2, you notice the following symptoms:
  • You receive an error message that resembles the following:
    Location: e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h:1139

    Expression: bufferLen >= colLen

    SPID: <SPID>

    Process ID: <ProcessID>

    Msg 3624, Level 20, State 1, Line 2

    A system assertion check has failed. Check the SQL Server error log for more information. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.

    Msg 0, Level 20, State 0, Line 0

    A severe error occurred on the current command. The results, if any, should be discarded.
  • An error message that resembles the following is logged in the SQL Server Error log:
    <Date Time> spid<ID> Using 'dbghelp.dll' version '4.0.5'

    <Date Time> spid<ID> **Dump thread - spid = 0, EC = 0x0000000086DC00F0

    <Date Time> spid<ID> ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\LOG \SQLDump0001.txt

    <Date Time> spid<ID> * *******************************************************************************

    <Date Time> spid<ID> *

    <Date Time> spid<ID> * BEGIN STACK DUMP:

    <Date Time> spid<ID> * <Date Time> spid <ID>

    <Date Time> spid<ID> *

    <Date Time> spid<ID> * Location: e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h:1139

    <Date Time> spid<ID> * Expression: bufferLen >= colLen

    <Date Time> spid<ID> * SPID: <SPID>

    <Date Time> spid<ID> * Process ID: <ProcessID>

    <Date Time> spid<ID> *

    <Date Time> spid<ID> * Input Buffer 264 bytes -

    <Date Time> spid<ID> * select * from t1 O inner join t2 T on O.id = T.id and O.tit

    <Date Time> spid<ID> * le = T.title order by O.id, O.title option (loop join)

    <Date Time> spid<ID> *

    ... ...

    ... ... <Date Time> spid<ID> Error: 17066, Severity: 16, State: 1.

    <Date Time> spid<ID> SQL Server Assertion: File: <e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h>, line=1139 Failed Assertion = 'bufferLen >= colLen'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.

    <Date Time> spid<ID> Error: 3624, Severity: 20, State: 1.

    <Date Time> spid<ID>

    A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.
  • A mini-dump file is generated in the folder that contains the SQL Server Error logs.
These problems occur when the following conditions are true:
  • The query obtains data from two or more tables by using the JOIN statement.
  • One of the tables has data compression enabled.
  • In the table, you have a clustered index key on a column.
  • The column refers to columns in other tables that have different lengths.
  • The column is used in the ON filter.
  • The query uses the LOOP JOIN join hint, or SQL Server performs an operation that uses the LOOP JOIN join hint.

CAUSE

The issue occurs because the length of the key data is bigger than the length of the compressed key value buffer.

RESOLUTION

Cumulative update information

SQL Server 2008 Service Pack 1

The fix for this issue was first released in Cumulative Update 9 for SQL Server 2008 Service Pack 1. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2083921 cumulative update 9 for SQL Server 2008 Service Pack 1
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 fix release. Microsoft recommends that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
970365 The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 1 was released
Microsoft SQL Server 2008 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2008 Service Pack 1 hotfix to an installation of SQL Server 2008 Service Pack 1. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.

SQL Server 2008 Service Pack 2

The fix for this issue was first released in Cumulative Update 1 for SQL Server 2008 Service Pack 2. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2289254 Cumulative update 1 for SQL Server 2008 Service Pack 2
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2402659 The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 2 was released

SQL Server 2008 R2

The fix for this issue was first released in Cumulative Update 4. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
2345451 Cumulative Update package 4 for SQL Server 2008 R2
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
981356 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

You must have SQL Server 2008 Service Pack 1 installed to apply this hotfix.

Restart information

You do not have to restart the computer after you apply this hotfix.

Registry information

You do not have to change the registry after you apply this hotfix.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
SQL Server 2008, 32-bit version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Databasemailengine.dll10.0.2781.075,62407-Jun-201003:45x86
Databasemailprotocols.dll10.0.2781.042,85607-Jun-201003:45x86
Instmdw.sqlNot applicable469,80605-Jun-201000:40Not applicable
Instmsdb.sqlNot applicable1,676,51804-Jun-201021:02Not applicable
Mssqlsystemresource.ldfNot applicable524,28805-Jun-201003:36Not applicable
Mssqlsystemresource.mdfNot applicable63,307,77605-Jun-201003:36Not applicable
Queryactivityupload.dtsxNot applicable680,10705-Jun-201000:40Not applicable
Sql_engine_core_inst_keyfile.dll2007.100.2781.013,67207-Jun-201004:26x86
Sqlaccess.dll2007.100.2781.0405,35207-Jun-201005:32x86
Sqlagent.exe2007.100.2781.0367,46407-Jun-201005:32x86
Sqlagent100_msdb_upgrade.sqlNot applicable1,790,63905-Jun-201000:21Not applicable
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005:32x86
Sqlscriptdowngrade.dll2007.100.2781.014,69607-Jun-201005:33x86
Sqlscriptupgrade.dll2007.100.2781.03,380,07207-Jun-201005:33x86
Sqlservr.exe2007.100.2781.042,745,19207-Jun-201005:33x86
Sqsrvres.dll2007.100.2781.089,96007-Jun-201005:33x86
Xpstar.dll2007.100.2781.0300,90407-Jun-201005:36x86
SQL Server 2008, x64-based version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Databasemailengine.dll10.0.2781.075,62406-Jun-201004:15x86
Databasemailprotocols.dll10.0.2781.042,85606-Jun-201004:15x86
Instmdw.sqlNot applicable469,80605-Jun-201000:40Not applicable
Instmsdb.sqlNot applicable1,676,51804-Jun-201021:02Not applicable
Mssqlsystemresource.ldfNot applicable524,28805-Jun-201003:36Not applicable
Mssqlsystemresource.mdfNot applicable63,307,77605-Jun-201003:36Not applicable
Queryactivityupload.dtsxNot applicable680,10705-Jun-201000:40Not applicable
Sql_engine_core_inst_keyfile.dll2007.100.2781.014,18406-Jun-201004:36x64
Sqlaccess.dll2007.100.2781.0412,00806-Jun-201005:16x86
Sqlagent.exe2007.100.2781.0427,88006-Jun-201005:16x64
Sqlagent100_msdb_upgrade.sqlNot applicable1,790,63905-Jun-201000:21Not applicable
Sqlctr100.dll2007.100.2781.0108,39206-Jun-201005:16x64
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005:32x86
Sqlscriptdowngrade.dll2007.100.2781.015,72006-Jun-201005:18x64
Sqlscriptupgrade.dll2007.100.2781.03,379,56006-Jun-201005:18x64
Sqlservr.exe2007.100.2781.057,893,22406-Jun-201005:18x64
Sqsrvres.dll2007.100.2781.0105,83206-Jun-201005:18x64
Xpstar.dll2007.100.2781.0546,66406-Jun-201005:19x64
SQL Server 2008, Itanium architecture version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Databasemailengine.dll10.0.2781.075,62406-Jun-201012:33x86
Databasemailprotocols.dll10.0.2781.042,85606-Jun-201012:33x86
Instmdw.sqlNot applicable469,80605-Jun-201000:40Not applicable
Instmsdb.sqlNot applicable1,676,51804-Jun-201021:02Not applicable
Mssqlsystemresource.ldfNot applicable524,28805-Jun-201003:36Not applicable
Mssqlsystemresource.mdfNot applicable63,307,77605-Jun-201003:36Not applicable
Queryactivityupload.dtsxNot applicable680,10705-Jun-201000:40Not applicable
Sql_engine_core_inst_keyfile.dll2007.100.2781.019,30406-Jun-201012:53IA-64
Sqlaccess.dll2007.100.2781.0398,69606-Jun-201013:33x86
Sqlagent.exe2007.100.2781.01,203,04806-Jun-201013:33IA-64
Sqlagent100_msdb_upgrade.sqlNot applicable1,790,63905-Jun-201000:21Not applicable
Sqlctr100.dll2007.100.2781.0135,01606-Jun-201013:33IA-64
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005:32x86
Sqlscriptdowngrade.dll2007.100.2781.020,84006-Jun-201013:35IA-64
Sqlscriptupgrade.dll2007.100.2781.03,385,70406-Jun-201013:35IA-64
Sqlservr.exe2007.100.2781.0111,051,11206-Jun-201013:35IA-64
Sqsrvres.dll2007.100.2781.0187,75206-Jun-201013:35IA-64
Xpstar.dll2007.100.2781.0936,80806-Jun-201013:36IA-64

STATUS

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

MORE INFORMATION

For more information, visit the following Microsoft websites:

Viewing the SQL Server Error Log (SQL Server)

Data compression (SQL Server 2008)

Join Hints (Transact-SQL)


REFERENCES

For more information about the Incremental Servicing Model for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:
935897 An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems

For more information about the naming schema for SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:
822499 New naming schema for Microsoft SQL Server software update packages

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

Properties

Article ID: 980832 - Last Review: November 15, 2010 - Revision: 7.0
APPLIES TO
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbexpertiseadvanced kbsurveynew kbfix kbqfe kbhotfixserver kbautohotfix KB980832

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com