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.
The problem turned out that I was in some instances I was using a Dimension Data allowed member set expression of
The AllMembers function includes calculated members which was what caused the seemingly unrelated error. Changing to .Members to exclude calc members solved the problem.