You are currently offline, waiting for your internet to reconnect

FIX: Error message when you estimate the compression on a table in SQL Server 2008: "Subquery returned more than 1 value"

Bug #: 50003626 (SQL Hotfix)
Microsoft distributes Microsoft SQL Server 2008 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 fix release.
SYMPTOMS
When you use the sp_estimate_data_compression_savings stored procedure on a table that has both a nonclustered primary key and one or more nonclustered indexes in Microsoft SQL Server 2008, you may receive the following error message:
Msg 512, Level 16, State 1, Procedure sp_estimate_data_compression_savings, Line 251
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Although you receive this error message, the result is returned. However, the compression estimations for some nonclustered indexes are incorrect.

This problem occurs whether or not a clustered index exists.
RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for SQL Server 2008. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
968382How to obtain the latest service pack for SQL Server 2008

Cumulative update information

The fix for this issue was first released in Cumulative Update 2. For more information about how to obtain this cumulative update package for SQL Server 2008, click the following article number to view the article in the Microsoft Knowledge Base:
958186 Cumulative update package 2 for SQL Server 2008
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:
956909 The SQL Server 2008 builds that were released after SQL Server 2008 was released
WORKAROUND
To work around this problem, specify the @index_id parameter when you run the sp_estimate_data_compression_savings stored procedure. You must run the stored procedure one time for each index for which you want to estimate.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in SQL Server 2008 Service Pack 1.
MORE INFORMATION
The sp_estimate_data_compression_savings stored procedure is used to return the current size of tables. The sp_estimate_data_compression_savings stored procedure also estimates the table size for the requested compression state.

Steps to reproduce the problem

  1. Start SQL Server Management Studio, and then connect to an instance of SQL Server 2008.
  2. Create a new query, and then run the following statements.
    CREATE DATABASE TESTGOUSE TestGOCREATE TABLE REPRO(i int primary key nonclustered, a int)GOCREATE NONCLUSTERED INDEX NONCLUSTERED_REPRO ON REPRO(a)GOEXEC SP_ESTIMATE_DATA_COMPRESSION_SAVINGS @schema_name = 'dbo', @object_name = 'repro', @index_id = NULL, @partition_number = NULL, @data_compression = 'PAGE'
For more information about what files are changed, and for information about any prerequisites to apply the cumulative update package that contains the hotfix that is described in this Microsoft Knowledge Base article, click the following article number to view the article in the Microsoft Knowledge Base:
958186 Cumulative update package 2 for SQL Server 2008
REFERENCES
For more information about the list of builds that are available after the release of SQL Server 2008, click the following article number to view the article in the Microsoft Knowledge Base:
956909 The SQL Server 2008 builds that were released after SQL Server 2008 was released
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:
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
SQL2008RelNoteDatabaseEngine
Properties

Article ID: 956031 - Last Review: 04/08/2009 00:07:05 - Revision: 3.0

Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard

  • sql2008relnotedatabaseengine sql2008relnote kbbug kbqfe kbfix kbexpertiseadvanced kbprb KB956031
Feedback