Is there a way to assign a version number to a SSAS database on deployment?
Category: sql server analysisservices
Question
grahamgoodwin on Thu, 28 Feb 2013 13:12:04
We have designed a tabular model within VS2010 SSDT. The model can be effectively deployed. Is there any way to assign a build number or some other sort of version number to the tabular model when it is deployed? This would be very useful as we have numerous instances, not all of them with the same version of the tabular model.
I am open to any suggestions, whether it be the build number (if any) from MSBuild, a version number within the SSAS database properties etc. If the version number could be viewed (and referenced) within the database properties that would be ideal. In our relational databases we achieve the versioning by using extended properties at the database level but there appears to be no such funtionality within SSAS databases.
Regards
Graham
Graham Goodwin Email: g.goodwin@inova.ch
Replies
Gerhard Brueckl on Thu, 28 Feb 2013 15:59:10
you may use Annotations - though, they can only be modified and read in the the XMLA
<ObjectDefinition> <Database 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"> <ID>SemanticModel</ID> <Name>SemanticModel</Name> <Annotations> <Annotation> <Name>SandboxVersion</Name> <Value>SQL11_Denali</Value> </Annotation> </Annotations>
other options may be adding a dummy-measure that holds a fixed value
RichardLees on Fri, 01 Mar 2013 00:43:11
This is a common requirement. A trick that I have used at several sites is to update the name of the SSAS data source to include the version number. That way, anyone browsing the cube (so long as they can see the data source) is able to see which version. Of course, from SQL EM, it is very easy, as you just open the data source collection. Changing the data source name in Visual Studio does not break anything in the cube.
http://RichardLees.blogspot.com