DetailPage-MSS-KB

Microsoft small business knowledge base

Article ID: 2649913 - Last Review: April 12, 2012 - Revision: 2.0

On This Page

Microsoft distributes Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) or Microsoft SQL Server 2012 fixes in one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security updates that were included with the previous SQL Server 2008 R2 Service Pack 1 (SP1) or Microsoft SQL Server 2012 update release.

SYMPTOMS

Consider the following scenario:
  • You upgrade from Microsoft SQL Server 2005 to Microsoft SQL Server 2008 or to Microsoft SQL Server 2008 R2 or to Microsoft SQL Server 2012.
  • You run a query that uses the sp_cursoropen stored procedure, and then specify the rowcount parameter to fetch the first several rows of a table.
In this scenario, the performance might be slower than if you run the same query in SQL Server 2005.

CAUSE

This issue occurs because the Query Optimizer uses a static cursor plan instead of a dynamic cursor plan. For a static cursor plan, SQL Server fetches all the rows and inserts them into the cursor work table. However, for a dynamic cursor plan, SQL Server fetches only the rows that are needed.

RESOLUTION

Cumulative update information

SQL Server 2012

The fix for this issue was first released in Cumulative Update 1 for SQL Server 2012. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2679368  (http://support.microsoft.com/kb/2679368/LN/ ) Cumulative update package 1 for SQL Server 2012
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 2012 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:
2692828  (http://support.microsoft.com/kb/2692828/LN/ ) The SQL Server 2012 builds that were released after SQL Server 2012 was released
You must apply a SQL Server 2012 hotfix to an installation of SQL Server 2012.

Cumulative update package 5 for SQL Server 2008 R2 SP1

After you apply this hotfix, enable trace flag 4199.

The fix for this issue was first released in Cumulative Update 5. For more information about how to obtain this cumulative update package for SQL Server 2008 R2 SP1, click the following article number to view the article in the Microsoft Knowledge Base:
2659694  (http://support.microsoft.com/kb/2659694/ ) Cumulative update package 5 for SQL Server 2008 R2 SP1
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 SP1 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  (http://support.microsoft.com/kb/2567616/ ) The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 SP1 was released

WORKAROUND

To work around this issue, add the FAST query hint to the query.

MORE INFORMATION

For more information about how to use query hints, visit the following MSDN website:
General information about how to use query hints (http://msdn.microsoft.com/en-us/library/ms181714(v=sql.105).aspx)
For more information about trace flag 4199, visit the following website:
General information about trace flag 4199 (http://support.microsoft.com/kb/974006)

STATUS

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

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 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
Keywords: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew KB2649913
Share
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support