Answered by:
Deploying cube dimensional structure changes to production

Question
-
Hello,
I have a SSAS cube on Production server. Recently, there was a change request from business to add two new attributes to the production cube. I have made changes to the dimension and want to deploy the change to Production cube.
What I need to know is the how do I deploy only the changes so that there is minimal user impact? What processing should be chosen?There is no new dimensional row or fact row being added when I deploy the cube. Just two new dimensional attribute to one dimension.
Any pointers and useful links is very much appreciated.
Thanks!
Sunday, April 5, 2015 12:23 AM
Answers
-
Thanks! Based on the link it seems Process Add is an option that I should go with. How do I generate the XLMA to add the attributes to the cube dimension?
You still need to deploy you attribute changes using deployment wizard etc.
If you need to script a Process Add then right click the dimension and select process.
at the top of the box the is a script button and select it.
In the XMLA where the type indent is change this to ProcessAdd
example is like this
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400"> <Object> <DatabaseID>AdventureWorksDW2012Multidimensional-EE</DatabaseID> <DimensionID>Dim Department Group 1</DimensionID> </Object> <Type>ProcessAdd</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>
- Edited by aivoryuk Monday, April 6, 2015 6:59 AM
- Proposed as answer by Simon_HouMicrosoft contingent staff Wednesday, April 8, 2015 12:23 PM
- Marked as answer by Simon_HouMicrosoft contingent staff Friday, April 17, 2015 7:25 AM
Sunday, April 5, 2015 8:58 PM
All replies
-
Hi ,
Look for below link;
https://msdn.microsoft.com/en-us/library/ms174774.aspx?f=255&MSPPError=-2147217396
thanks
Please Mark This As Answer or vote for Helpful Post if this helps you to solve your question/problem. http://techequation.com
Sunday, April 5, 2015 4:40 PM -
Thanks! Based on the link it seems Process Add is an option that I should go with. How do I generate the XLMA to add the attributes to the cube dimension?
Sunday, April 5, 2015 7:00 PM -
Thanks! Based on the link it seems Process Add is an option that I should go with. How do I generate the XLMA to add the attributes to the cube dimension?
You still need to deploy you attribute changes using deployment wizard etc.
If you need to script a Process Add then right click the dimension and select process.
at the top of the box the is a script button and select it.
In the XMLA where the type indent is change this to ProcessAdd
example is like this
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400"> <Object> <DatabaseID>AdventureWorksDW2012Multidimensional-EE</DatabaseID> <DimensionID>Dim Department Group 1</DimensionID> </Object> <Type>ProcessAdd</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>
- Edited by aivoryuk Monday, April 6, 2015 6:59 AM
- Proposed as answer by Simon_HouMicrosoft contingent staff Wednesday, April 8, 2015 12:23 PM
- Marked as answer by Simon_HouMicrosoft contingent staff Friday, April 17, 2015 7:25 AM
Sunday, April 5, 2015 8:58 PM -
Nope.
"adds new members" - members are rows, not the attributes.
When you change the model, dimension and all facts using this dimension will become unprocessed.
So you need to:
1. Deploy model changes - cube become inaccessible at this moment.
2. Process full new dimension.
3. Process full affected facts.
You can do it on secondary server (if you have one) and re-point end users to it after all is done or update primary from it.
- Proposed as answer by Venkata Koppula Monday, April 6, 2015 5:01 AM
Monday, April 6, 2015 4:50 AM