FIX: Assertion error when you try to recover a database in SQL Server 2008 R2

Article translations Article translations
Article ID: 2503834 - View products that this article applies to.
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.
Expand all | Collapse all

SYMPTOMS

In Microsoft SQL Server 2008 R2, a database is marked as suspect when you try to recover the database. Additionally, the following assertion error is logged in the SQL Server 2008 R2 Errorlog file:
<Date> <Time> <SPID>     Error: 17066, Severity: 16, State: 1.

<Date> <Time> <SPID>     SQL Server Assertion: File: <page.cpp>, line=4953 Failed Assertion = 'm_freeCnt + emptySlots * sizeof (Slot) >= spaceNeeded'. 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.
Note When this issue occurs, you have to restore the database from a backup to recover from the issue.

CAUSE

This issue occurs because a page may not have sufficient space when you recover a database.

Any thread that is involved in an Online Index Rebuild operation or a Shrink Database operation can compress a new page. If the page has insufficient space, the assertion error occurs.

RESOLUTION

Cumulative update information


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

STATUS

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

Properties

Article ID: 2503834 - Last Review: April 18, 2011 - Revision: 1.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 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced KB2503834

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