Sacha Tomey

Sacha Tomey's Blog

Error opening file msmdredir.ini (Analysis Services 2005 Cube Processing Error)

I've experienced an intermittent error over the last week or so and I've finally got to the bottom of it.
When processing Analysis Services 2005 cubes from a SQL Agent Job the step reports success but occasionally logs the following error:
<return xmlns="urn:schemas-microsoft-com:xml-analysis">
      <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty">
         <Exception xmlns="urn:schemas-microsoft-com:xml-analysis:exception" />
            <Messages xmlns="urn:schemas-microsoft-com:xml-analysis:exception">
               <Error ErrorCode="3238133773" Description="File system error: Error opening file; \Program Files\Microsoft SQL Server\90\Shared\ASConfig\msmdredir.ini is not a disk file or file is not accessible." Source="Microsoft SQL Server 2005 Analysis Services" HelpFile="" />
</return>.  The step succeeded.
The cause is due to the fact I have other cubes processing at the same time on a different Analysis Services instance.  Both instances attempt to access the msmdredir.ini file around the same time and if one instance already has the file open the other instance loses out.
A few workarounds are possible:
- Determine the processing window and start the jobs appropriately to ensure the cubes on different instances are not processing concurrently.
- Process all cubes on the same instance (and synchronise them over to the alternative instance, once processed)
- Chain the SQL Jobs together to ensure that cubes on different instances are processed sequentially.
All things being equal, the second option is my favored approach.  However, due to an MS known bug relating to synchronising large and complex cubes (the reason for processing over separate instances in the first place) I've gone for the third.