Microsoft KB Archive/811703

= FIX: Unexpected results from partial aggregations based on conversions =

Article ID: 811703

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Workgroup Edition
 * Microsoft SQL Server 2000 Desktop Engine (Windows)
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition 64-bit

-



CPR - SQL 2000 - Hotfix in SP4



BUG #: 363566 (SHILOH_BUGS)



SYMPTOMS
Queries that use aggregate functions can cause unexpected results if the column or columns that you apply the aggregate function to is converted and SQL Server chooses to use a partial aggregation execution plan.



Service pack information
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

Hotfix information
The English version of this fix 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 tool in Control Panel.   Date         Time   Version             Size   File name --  17-Jan-2002  20:45  2000.80.568.0      29,244  Dbmslpcn.dll 30-Aug-2002 13:08                    786,432  Distmdl.ldf 30-Aug-2002 13:08                  2,359,296  Distmdl.mdf 11-Dec-2002 09:50                        180  Drop_repl_hotfix.sql 02-Jul-2002 07:35  2000.80.650.0     107,088  Impprov.dll 11-Dec-2002 09:50                      1,402  Inst_repl_hotfix.sql 19-Jul-2002 08:56                    774,516  Instdist.sql 20-Aug-2002 08:24  2000.80.679.0     111,172  Logread.exe 15-Dec-2002 15:21  2000.80.717.0      90,692  Msgprox.dll 06-Apr-2002 18:08  2000.80.606.0      62,024  Odsole70.dll 02-Jan-2002 17:59                     18,185  Qfe356326.sql 20-Aug-2002 08:47  2000.80.679.0     135,748  Qrdrsvc.exe 26-Aug-2002 14:49  2000.80.679.0     406,088  Rdistcom.dll 03-Oct-2001 17:36                    437,302  Replcom.sql 20-Aug-2002 08:33  2000.80.679.0     152,136  Replmerg.exe 25-Nov-2002 13:43                  1,004,990  Replmerg.sql 15-Dec-2002 15:21  2000.80.717.0     221,768  Replprov.dll 15-Dec-2002 15:21  2000.80.717.0     303,688  Replrec.dll 03-Oct-2001 17:36                    986,906  Replsys.sql 03-Oct-2001 17:36                    881,228  Repltran.sql 26-Aug-2002 14:49  2000.80.679.0     283,208  Rinitcom.dll 16-Sep-2002 14:31                    390,045  Securityhotfix.sql 26-Aug-2002 14:49  2000.80.679.0      28,672  Sqlagent.dll 26-Aug-2002 10:39  2000.80.679.0     311,872  Sqlagent.exe 28-Aug-2002 08:32  2000.80.679.0      49,152  Sqlagent.rll 26-Aug-2002 14:49  2000.80.679.0      53,824  Sqlcmdss.dll 28-Aug-2002 08:40  2000.80.679.0      12,288  Sqlcmdss.rll 24-Oct-2002 09:37  2000.80.695.0     176,696  Sqlmap70.dll 16-Dec-2002 16:17  2000.80.718.0   7,471,185  Sqlservr.exe 01-Nov-2002 10:56  2000.80.698.0      45,644  Sqlvdi.dll 17-Jan-2002 20:45  2000.80.568.0      29,244  Ssmslpcn.dll 04-Dec-2002 15:34  2000.80.712.0      82,492  Ssnetlib.dll 26-Nov-2002 17:14  2000.80.709.0      25,148  Ssnmpn70.dll 06-Apr-2002 18:08  2000.80.606.0      70,208  Xplog70.dll 06-Apr-2002 18:08  2000.80.606.0      53,828  Xpqueue.dll 06-Apr-2002 18:08  2000.80.606.0     156,228  Xprepl.dll 11-Jul-2002 17:00  2000.80.658.0     279,104  Xpstar.dll 16-Sep-2002 15:12  2000.80.686.0      98,872  Xpweb70.dll

Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.



MORE INFORMATION
The following is an example of an execution plan with a partial aggregation:  |--Compute Scalar(DEFINE:([Expr1004]=Convert([globalagg1006]))) |--Stream Aggregate(DEFINE:([globalagg1006]=SUM([partialagg1005]))) |--Nested Loops(Inner Join, WHERE:(Convert([x].[a])=Convert([y].[a]))) |--Hash Match(Aggregate, HASH:([y].[a]), RESIDUAL:([y].[a]=[y].[a]) DEFINE:([partialagg1005]=COUNT(*))) |   |--Table Scan(OBJECT:([pubs].[dbo].[y])) |--Table Scan(OBJECT:([pubs].[dbo].[x]))

Keywords: kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB811703

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.