Udostępnij za pośrednictwem


Parser errors for parameterized queries in SSAS 2008 R2

After migrating your solution from SSAS 2005/2008 to SSAS 2008 R2 you may run into parser errors with parameterized MDX or DMX queries.

Typically this would be Reporting Services queries, but other client applications can be affected as well.

The Error Message:

Parser: The syntax for 'XXX' is incorrect.  

Where XXX would be keywords such as Value, Batch, Date, Target, Date  ....

The same queries worked fine against SSAS 2005 and SSAS 2008.

So are we looking at a regression bug?

Not quite. Turned out that we expanded SSAS parser capabilities in order to deal with newly introduced DAX expressions.

In the new parser design we blocked usage of reserved keywords as a precaution.

Once we noted that several customers hit the issue, and that the seemingly simple workaround of using a different parameter name can be rather difficult if you are looking at hundreds of reports,  the need for this precaution was re-evaluated.

It turned out that the precaution can be removed without any negative side-effects.

Last month we released the patch as part of  the cumulative Update #4 for SQL Server 2008 R2 Service Pack 1.

Please install it  (or a higher version) if you run into the parser issues decribed above.

2633146 Cumulative update package 4 for SQL Server 2008 R2 Service Pack 1
https://support.microsoft.com/default.aspx?scid=kb;EN-US;2633146

2638216 FIX: Error message when you run a query that uses an MDX reserved keyword as a parameter name in SSAS 2008 R2
https://support.microsoft.com/default.aspx?scid=kb;EN-US;2638216