2
votes

We have a spreadsheet connected to a cube that is refreshed every two hours like this:

  1. Refresh data in the data warehouse
  2. Perform a "Process Full" on one of the many partitions in a duplicate of the target cube
  3. Backup the processed cube and restore it to the target cube

Every time this process finishes, and a user tries to refresh the spreadsheet, the error "The current session is no longer valid due to structural changes" occurs.

The cube uses MOLAP with proactive caching off, and we are working with SSAS 2008R2.

I'm not sure what steps to take to to resolve this issue.

2

2 Answers

2
votes

After a restore how would you expect that your old connection is still fine. Even after small changes in calculation script, this issue will happen. I think there is no way to avoid this problem.

In theory a vba application in Excel can get notification for such changes and also can re-connect but I am not aware if such a solution already exists.

1
votes

I am having the same problem when performing an incremental cube processing. I have found some KB article about this issue (SSAS 2K8R2 SP2).

Microsoft KB2770630

=> I think it is worth a shot to check if this fix will solve the issue.

I have tested this on two servers, one shows the behavior (SP2) and the other one doesn't (SP1). So I've installed SP2 on the second server trying to reproduce the issue. Unfortunately on the second server even after installing SP2 the message does not appear (otherwise the servers are (or should be) identical.

I'll start an analysis now on what is different between the two and will update here once I found out.


----- Update -----

  1. I installed CU 8 (cumulative update 8) for SQL 2K8 R2 SP2 from this link
  2. Error message does not appear anymore

Result => now however, another message is appearing: "The operation was cancelled because of locking conflicts", which has something to do with the locking process during the cube processing.

SQL 2K8 R2 SP2 + CU8 (might have been fixed in an earlier CU as well) has solved the problem. The locking is a different topic, which should be discussed elsewhere.

Cheers, Remo