Microsoft KB Archive/835975

= FIX: Aggregations return Zero values for members of Roles with restricted Measures access =

Article ID: 835975

Article Last Modified on 11/21/2006

-

APPLIES TO


 * Microsoft SQL Server 2000 Analysis Services
 * Microsoft SQL Server 2000 Analysis Services

-



Bug #: 14249 (Plato7x)



Notice
Microsoft distributes Microsoft SQL Server 2000 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 2000 fix release.



SYMPTOMS
When a user who is a member of a security role that has restricted access to one or more members of the Measures dimension queries a cube in SQL Server 2000 Analysis Services, they may receive zero values for measures that they have access to. This behavior may occur even though the actual values for the measures are not zero in the source cube.



Service pack information
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For more 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

Prerequisites
This hotfix requires Microsoft SQL Server 2000 Analysis Services Service Pack 3 (SP3). For information about how to obtain SQL Server 2000 Analysis Services SP3, see the following article in the Microsoft Knowledge Base:

290211 How to obtain the most recent SQL Server 2000 Service Pack

Restart requirement
You do not have to restart your computer after you apply this hotfix.

Registry information
This fix requires no registry modifications.

Hotfix file information
This hotfix contains only those files that are required to correct the problem that is described in this article. This hotfix may not contain all the files that you must have to fully update a product to the latest build.

The English version of this hotfix 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. 32-Bit Date        Time   Version    Size       File name ---  27-Feb-2004  05:33  8.0.918.0    217,664  Msmdcb80.dll 27-Feb-2004 05:33  8.0.0.918  4,063,812  Msmddo80.dll 27-Feb-2004 05:33  8.0.918.0  1,032,768  Msmdgd80.dll 27-Feb-2004 05:33  8.0.918.0    172,608  Msmdpump.dll 27-Feb-2004 05:33  8.0.0.918  9,638,468  Msmdsgn80.dll 27-Feb-2004 05:33  8.0.918.0  1,835,588  Msmdsrv.exe 27-Feb-2004 05:33  8.0.918.0  2,077,264  Msolap80.dll 26-Feb-2004 05:01  8.0.918.0    213,068  Msolap80.rll

64-Bit Date        Time   Version    Size       File name --  08-Apr-2004  18:24  8.0.931.0  5,492,736  Msmdcb80.dll 08-Apr-2004 18:24  8.0.931.0  5,801,984  Msmdgd80.dll 08-Apr-2004 18:24  8.0.931.0  5,130,752  Msmdpump.dll 08-Apr-2004 18:24  8.0.931.0  5,993,472  Msmdsrv.exe 08-Apr-2004 18:24  8.0.931.0  6,671,360  Msolap80.dll 08-Apr-2004 16:44  8.0.931.0    201,216  Msolap80.rll 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
This hotfix includes a fix that addresses a problem that causes the corruption of dimensions when a Lazy Aggregation processing thread is executed after it processes dimensions that are used in virtual dimensions.

Because of that fix, if you incrementally process a virtual dimension, a lazy aggregation processing thread executes. While the lazy aggregation thread executes, the aggregations for that dimension are deleted from each partition. The lazy aggregation thread executes as a low-priority background thread and rebuilds the aggregations for the dimension in each partition.

While the lazy aggregation thread executes to rebuild the aggregations, multidimensional expressions (MDX) query execution may be significantly slower. The degradation in query performance occurs because of the lack of aggregations. The lack of aggregations causes the server to read values from the leaf level of each partition. After the lazy aggregation thread finishes rebuilding the aggregations for each partition, you will no longer see the degradation in query performance.

The query performance degradation during lazy aggregation may be unacceptable in certain situations, such as in high-demand cubes in enterprise applications. If applying this hotfix causes unacceptable query performance degradation, we recommend that you consider the following alternatives during lazy aggregation:  Set the  registry value to DSOCommitModeNonLazyIndexing. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

325289 FIX: New functionality for incremental update of changing dimensions

This option can increase memory and disk usage on the Analysis Server. Memory usage increases because processing the affected cubes requires additional memory for the processing buffer to recalculate the cube aggregates. Disk usage increases to approximately two times the cumulative size of all affected cubes because the new copies of the data and aggregates are created and because the original data is kept for current user queries. Also, the total elapsed time to complete transactions may be considerably longer than with the conventional lazy aggregation process. Set the Virtual property and the Changing property of any virtual dimensions to False.

Note If you change these properties, you must fully reprocess any cubes that use the changed dimension.

