FIX: Full Process of a Remote Partition Unprocesses Other Remote Partitions in Same Server (297933)



The information in this article applies to:

  • Microsoft SQL Server 2000 Analysis Services

This article was previously published under Q297933
BUG #: 11264 (Plato7.x)

SYMPTOMS

When you execute a ProcessFull from Decision Support Object (DSO) on a cube that has two or more remote partitions, when the partitions reside on the same server the process causes some of the remote partitions to become "unprocessed" or to have the State property of the partition set to olapStateNeverProcessed.

RESOLUTION

To resolve this problem, obtain the latest service pack for the Microsoft SQL Server 2000 (the Analysis Services Components - Sql2kasp1.exe). For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

WORKAROUND

If you change the process type in the DSO Process method from ProcessFull to ProcessDefault, the State property of the partition is set correctly to olapStateCurrent or four.

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000 Analysis Services version 8.0. This problem was first corrected in the Analysis Services Components of Microsoft SQL Server 2000 Service Pack 1.

MORE INFORMATION

The DSO method Process (ProcessFull) incorrectly sets the State property of the remote partitions to olapStateNeverProcess or zero. This is obviously incorrect and may cause problems if you are relying on the State property to be accurate in code.

Steps to Reproduce Behavior

  1. In the Sales cube of the FoodMart 2000 database, add a new partition by right-clicking the Partitions folder, and then click New Partition....
  2. In the Select a Data Slice page of the Partition Wizard, select the Time dimension, 1997, and Q2. Click Next.
  3. Click the remote option, and then type the servername where the remote partition will reside. Click Next.
  4. Save the new partition as Test1, and then select the Design aggregations later option. Click Finish.
  5. Repeat steps 2 and 3 to create a second partition, and name this partition Test2.
  6. In a Microsoft Visual Basic project run the following DSO code:
    Dim dsoServer As New DSO.Server
        dsoServer.Connect "LocalHost"
    Dim dsoDb As DSO.MDStore
        Set dsoDb = dsoServer.MDStores("Foodmart 2000")
    Dim dsoCube As DSO.MDStore
        Set dsoCube = dsoDb.MDStores("Sales")
    Dim dsoPart As DSO.MDStore
        For Each dsoPart In dsoCube.MDStores
            Debug.Print dsoPart.Name & " State = " & dsoPart.State
        Next dsoPart
        For Each dsoPart In dsoCube.MDStores
           Debug.Print "Processing " & dsoPart.Name
           dsoPart.Process processFull
        Next dsoPart
        For Each dsoPart In dsoCube.MDStores
            Debug.Print dsoPart.Name & " State = " & dsoPart.State
        Next dsoPart
    					
After you run the code in the Visual Basic Immediate Window, you see that the Test1 partition has a State of 0, which means it was never processed. The Test2 partition has a State of 4, which means that partition is current.

Modification Type:MinorLast Reviewed:4/24/2003
Keywords:kbBug kbfix kbssas800sp1fix KB297933 kbAudDeveloper