This article has been archived. It is offered "as is" and will no longer be updated.
Bug #: 14363 (Plato7X)
Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
When a complex query that takes long time to complete is run against a Microsoft SQL Server 2000 Analysis Services server, and you try to connect to the Analysis Services server or you try to run a query against an Analysis Services cube, you may notice that the Analysis Services server appears to stop responding (hang). Additionally, you may notice a timeout error.
This problem causes a long delay for the processing of an object like a cube, a dimension, or a partition in the Analysis Services server to complete.
For a list of previous hotfixes, see the "Microsoft SQL Server 2000 post-Service Pack 3 or Microsoft SQL Server 2000 post-Service Pack 3a hotfixes" section in the following Microsoft Knowledge Base article:
290211 How to obtain the most recent SQL Server 2000 service pack
When Analysis Services processes an object in an Analysis Services server, the server creates a copy of the object that is being processed and then operates on the copy until the Analysis Services server receives a commit request. When a commit request is received, the Analysis Services server obtains a write lock on the objects that are processed in the current transaction and then replaces those objects with the corresponding updated versions of the objects. If queries are running against one or more of the objects that are to be replaced, the write lock request waits for the existing read locks that are held by the queries. Any subsequent read lock requests that the Analysis Services server receives for the objects that are in the commit request are queued behind the waiting write lock request for the commit operation. This behavior causes the processing operation to wait until the query processing is complete. Therefore, you notice the behavior that is mentioned in the "Symptoms" section.
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
To resolve the problem, follow these steps:
Apply the hotfix that is described in the following Microsoft Knowledge Base article:
827899 FIX: Prevent Analysis Services processing requests from blocking queries
This hotfix is used to interrupt the pending processing operation after a specified time. This hotfix introduces a registry setting that you can use to enable the commit request. You can also use the registry setting to set the wait time for the commit request. By using this registry value, an Analysis Services administrator can determine how many seconds a commit request will wait for the write lock to be obtained before the commit request rolls back the processing operation.
Apply the hotfix that is mentioned in this article. For more information, see the "Hotfix information" section.
Add the ForceCommitTimeout DWORD registry value to the following registry subkey:
If the value of the ForceCommitTimeout DWORD registry value is not set to 0 (zero), Analysis Services cancels all queries that are run against the Analysis Services server regardless of the Analysis Services database on which these queries are running. In this scenario, the Microsoft Decision Support Objects (DSO) operation does not wait to obtain a write lock.
By using this registry value, an Analysis Services administrator can determine how many seconds a commit request must wait before all the running queries are canceled. This registry value is expressed in seconds.
Note Once the processing job cancels the MDX query over the specified time of the ForceCommitTimeout DWORD registry value, your front application may receive an error message that resembles the following:
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
This hotfix requires Microsoft SQL Server 2000 Analysis Services Service Pack 3 (SP3). For more information about how to obtain SQL Server 2000 Analysis Services Service Pack 3, 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
This hotfix contains only those files that are required to correct the issues that this article lists. 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 item in Control Panel.