Problem
In SQL Server Master Data Services all the entities are organized in a model. Once a model is ready to be released to subscribers, it should be frozen and marked as ready for subscribers. Until a model is marked as ready, a model is typically deemed as work in progress. A standard process is required to release a completed version of the model to subscribers, which we will cover in this tip.
Solution
In this tip we will look at how to version and flag a model in SQL Server Master Data Services (MDS). A typical workflow of version management in MDS is as mentioned below:
- An initial version of the model is created when a new model is created and populated in MDS. This is an uncommitted version of the model.
- Once the model is ready, the model is generally locked by the administrator from any further changes.
- Business rules are then validated on the locked version of the data and post validation the model is committed.
- Now changes cannot be made to the committed version. This version is then flagged for use by subscribers.
So let’s see how to implement this. We will assume that we have a model already in place.
Open Master Data Manager and navigate to “Version Management”. Select the version and lock the model as shown in the below screenshot. Once locked the status of the model will show as “Locked”.
Once locked, the end users will not be able to make any changes to the version. They will see the members in the entities with a locked icon as shown in the below screenshot. So you may want to let the users know that this version has been locked from any changes. Admins would still be able to make changes to this version if needed.
Click on the Validate Version menu item, and this should bring up a screen as shown below. If you have business rules defined, you can click on the Validate button to validate the model against the business rules. The below screenshot shows that all the entities have been validated successfully. Click on the Commit button to save this version.
Once the version is committed successfully, you will see a confirmation message and the Commit button will be disabled.
Now that the version is successfully committed, we need to flag the version which the subscribers can use to detect this version as ready for use. In order to create a new flag, click on the Manage menu item and select Flags. Click on the Add button and create a new flag as shown below.
Navigate back to Manage > Versions, and double click on the Flag field of the model as shown below. You will be able to see the list of flags available. Select the newly created flag and let the subscribers know. This completes the version management workflow.

Next Steps
- Try out the created copy of the committed version as you work on a new version.
- Read more Master Data Services tips
Siddharth has more than 14 years of experience in the IT Industry, with more than a decade of experience in Business Intelligence and Analytics, for clients banking, logistics, government, Media Entertainment, products, life sciences and other domains. He has been a lead architect for a portfolio of 40+ apps, containing apps in web, mobile, BI, Analytics, data warehousing, reporting, collaboration, CMS, NoSQL and other technologies. He has several certifications and is a published author for online and print-media publications, as well as the MSDN Library.
In his present role, he remains responsible for architecture design, technology stack selection, infrastructure design, 3rd party products evaluation and procurement, and performance engineering. These applications use technologies like Elasticsearch / Lucene, MongoDB, SharePoint 2013 and 2010, jQuery-based framework like Highcharts and GoJS, SQL Server and the Microsoft Business Intelligence stack (SSIS, SSAS, SSRS, MDX, PowerPivot, PowerView), jQueryMobile, Bootstrap, iOS xCode framework, and many others.
- MSSQLTips Awards: Champion (100+ tips) – 2018 | Author of the Year – 2017 | Author Contender – 2016, 2018-2019