KB980832 - 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

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.

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 1Note 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 2Note 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=supportNote 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

File name

File version

File size

Date

Time

Platform

Databasemailengine.dll

10.0.2781.0

75,624

07-Jun-2010

03:45

x86

Databasemailprotocols.dll

10.0.2781.0

42,856

07-Jun-2010

03:45

x86

Instmdw.sql

Not applicable

469,806

05-Jun-2010

00:40

Not applicable

Instmsdb.sql

Not applicable

1,676,518

04-Jun-2010

21:02

Not applicable

Mssqlsystemresource.ldf

Not applicable

524,288

05-Jun-2010

03:36

Not applicable

Mssqlsystemresource.mdf

Not applicable

63,307,776

05-Jun-2010

03:36

Not applicable

Queryactivityupload.dtsx

Not applicable

680,107

05-Jun-2010

00:40

Not applicable

Sql_engine_core_inst_keyfile.dll

2007.100.2781.0

13,672

07-Jun-2010

04:26

x86

Sqlaccess.dll

2007.100.2781.0

405,352

07-Jun-2010

05:32

x86

Sqlagent.exe

2007.100.2781.0

367,464

07-Jun-2010

05:32

x86

Sqlagent100_msdb_upgrade.sql

Not applicable

1,790,639

05-Jun-2010

00:21

Not applicable

Sqlctr100.dll

2007.100.2781.0

72,552

07-Jun-2010

05:32

x86

Sqlscriptdowngrade.dll

2007.100.2781.0

14,696

07-Jun-2010

05:33

x86

Sqlscriptupgrade.dll

2007.100.2781.0

3,380,072

07-Jun-2010

05:33

x86

Sqlservr.exe

2007.100.2781.0

42,745,192

07-Jun-2010

05:33

x86

Sqsrvres.dll

2007.100.2781.0

89,960

07-Jun-2010

05:33

x86

Xpstar.dll

2007.100.2781.0

300,904

07-Jun-2010

05:36

x86

SQL Server 2008, x64-based version

File name

File version

File size

Date

Time

Platform

Databasemailengine.dll

10.0.2781.0

75,624

06-Jun-2010

04:15

x86

Databasemailprotocols.dll

10.0.2781.0

42,856

06-Jun-2010

04:15

x86

Instmdw.sql

Not applicable

469,806

05-Jun-2010

00:40

Not applicable

Instmsdb.sql

Not applicable

1,676,518

04-Jun-2010

21:02

Not applicable

Mssqlsystemresource.ldf

Not applicable

524,288

05-Jun-2010

03:36

Not applicable

Mssqlsystemresource.mdf

Not applicable

63,307,776

05-Jun-2010

03:36

Not applicable

Queryactivityupload.dtsx

Not applicable

680,107

05-Jun-2010

00:40

Not applicable

Sql_engine_core_inst_keyfile.dll

2007.100.2781.0

14,184

06-Jun-2010

04:36

x64

Sqlaccess.dll

2007.100.2781.0

412,008

06-Jun-2010

05:16

x86

Sqlagent.exe

2007.100.2781.0

427,880

06-Jun-2010

05:16

x64

Sqlagent100_msdb_upgrade.sql

Not applicable

1,790,639

05-Jun-2010

00:21

Not applicable

Sqlctr100.dll

2007.100.2781.0

108,392

06-Jun-2010

05:16

x64

Sqlctr100.dll

2007.100.2781.0

72,552

07-Jun-2010

05:32

x86

Sqlscriptdowngrade.dll

2007.100.2781.0

15,720

06-Jun-2010

05:18

x64

Sqlscriptupgrade.dll

2007.100.2781.0

3,379,560

06-Jun-2010

05:18

x64

Sqlservr.exe

2007.100.2781.0

57,893,224

06-Jun-2010

05:18

x64

Sqsrvres.dll

2007.100.2781.0

105,832

06-Jun-2010

05:18

x64

Xpstar.dll

2007.100.2781.0

546,664

06-Jun-2010

05:19

x64

SQL Server 2008, Itanium architecture version

File name

File version

File size

Date

Time

Platform

Databasemailengine.dll

10.0.2781.0

75,624

06-Jun-2010

12:33

x86

Databasemailprotocols.dll

10.0.2781.0

42,856

06-Jun-2010

12:33

x86

Instmdw.sql

Not applicable

469,806

05-Jun-2010

00:40

Not applicable

Instmsdb.sql

Not applicable

1,676,518

04-Jun-2010

21:02

Not applicable

Mssqlsystemresource.ldf

Not applicable

524,288

05-Jun-2010

03:36

Not applicable

Mssqlsystemresource.mdf

Not applicable

63,307,776

05-Jun-2010

03:36

Not applicable

Queryactivityupload.dtsx

Not applicable

680,107

05-Jun-2010

00:40

Not applicable

Sql_engine_core_inst_keyfile.dll

2007.100.2781.0

19,304

06-Jun-2010

12:53

IA-64

Sqlaccess.dll

2007.100.2781.0

398,696

06-Jun-2010

13:33

x86

Sqlagent.exe

2007.100.2781.0

1,203,048

06-Jun-2010

13:33

IA-64

Sqlagent100_msdb_upgrade.sql

Not applicable

1,790,639

05-Jun-2010

00:21

Not applicable

Sqlctr100.dll

2007.100.2781.0

135,016

06-Jun-2010

13:33

IA-64

Sqlctr100.dll

2007.100.2781.0

72,552

07-Jun-2010

05:32

x86

Sqlscriptdowngrade.dll

2007.100.2781.0

20,840

06-Jun-2010

13:35

IA-64

Sqlscriptupgrade.dll

2007.100.2781.0

3,385,704

06-Jun-2010

13:35

IA-64

Sqlservr.exe

2007.100.2781.0

111,051,112

06-Jun-2010

13:35

IA-64

Sqsrvres.dll

2007.100.2781.0

187,752

06-Jun-2010

13:35

IA-64

Xpstar.dll

2007.100.2781.0

936,808

06-Jun-2010

13:36

IA-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:

935897An 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:

822499New 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

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Qué ha afectado a tu experiencia?

¿Algún comentario adicional? (Opcional)

¡Gracias por sus comentarios!

×