FIX: "Error: 17066" occurs when you create a partitioned nonclustered index in SQL Server 2008 R2 if a parallel execution plan is used

Article translations Article translations
Article ID: 2530913 - View products that this article applies to.
Expand all | Collapse all

On This Page

Microsoft distributes 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 R2 fix release.

SYMPTOMS

When you use a parallel execution plan to try to create a partitioned nonclustered index in Microsoft SQL Server 2008 R2, an issue occurs that has the following symptoms:
  • The following error messages are logged in the SQL Server error log:
    <Date time> spid<n> Error: 17066, Severity: 16, State: 1.
    <Date time> spid<n> SQL Server Assertion: File: <sobuild.c>, line=3392 Failed Assertion = 'CompareRow ( rightPageRow, *m_pSEBindings, keyCnt, *pHobtAccess, PAGE_LEAF_LEVEL)'. 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.
  • The parallel execution plan does not create the index.
  • The client application that sends the CREATE INDEX statement may receive a SQL Server exception.
  • The connection between the client and server is closed.

Note
  • A parallel execution plan might be used in the following situations:
    • You set the MAXDOP query hint option to a value that is greater than 1.
    • You set the Max Degree of Parallelism option to 0 or to a value that is greater than 1 in server configuration.

  • This issue does not occur in Microsoft SQL Server 2008.

CAUSE

This issue occurs because two or more SQL Server parallel threads perform index creation on overlapped partition ranges.

RESOLUTION

Cumulative update information

SQL Server 2008 R2 Service Pack 1

The fix for this issue was first released in Cumulative Update 1 for SQL Server 2008 R2 Service Pack 1. For more information about how to obtain this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2544793 Cumulative Update package 1 for SQL Server 2008 R2 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 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:
2567616 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1 was released

SQL Server 2008 R2


The fix for this issue was first released in Cumulative Update 8. 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:
2534352 Cumulative Update package 8 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

WORKAROUND

To work around this issue, use one of the following methods:
  • Set the Max Degree of Parallelism option to 1 in server configuration before you create the index.
  • Set the MAXDOP query hint option to 1 when you create the index.

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 about the CREATE INDEX statement, visit the following MSDN website:

General information about the CREATE INDEX statement
For more information about the CREATE PARTITION FUNCTION statement, visit the following MSDN website:

General information about the CREATE PARTITION FUNCTION statement

Properties

Article ID: 2530913 - Last Review: July 18, 2011 - Revision: 2.0
APPLIES TO
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbqfe kbexpertiseadvanced kbsurveynew kbfix KB2530913

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