Search code examples
ssas

SSAS error when executing query: "File system error: The record ID is incorrect."


I have an ASP web application that executes MDX queries using SSAS. I have started getting the following error on some queries.

File system error: The record ID is incorrect. Physical file: \?\C:\Program Files\Microsoft SQL Server\MSAS10_50.MSSQLSERVER\OLAP\Temp\NLevelDecodeStore_{E81C53D3-9A74-11E1-B75A-00155D1E7701}.tmp. Logical file: .

It's strange that it's only started happening now as I have never had the problem before. The error also only occurs under my web application, if I run it under SSMS the query returns with the results immediately.

The web application runs under the Network Service account, so thinking it could be a security issue I tried running the app under an administrator account and the query completed successfully. I also found that if I add the Network Service account to the list of Server Administrators (right-click on the server in SSMS, properties, and then the security tab) then the query will also complete. I'd rather not do either of these however due security risks.

Edit: The problem with the above solution is that SSAS role security is not applied to server administrators.


Solution

  • The problem turned out that I was in some instances I was using a Dimension Data allowed member set expression of

    [Customer].[Customer].AllMembers
    

    The AllMembers function includes calculated members which was what caused the seemingly unrelated error. Changing to .Members to exclude calc members solved the problem.