Click here to monitor SSC
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

James Serra's Blog

James is currently a Senior Business Intelligence Architect/Developer and has over 20 years of IT experience. James started his career as a software developer, then became a DBA 12 years ago, and for the last five years he has been working extensively with Business Intelligence using the SQL Server BI stack (SSAS, SSRS, and SSIS). James has been at times a permanent employee, consultant, contractor, and owner of his own business. All these experiences along with continuous learning has helped James to develop many successful data warehouse and BI projects. James has earned the MCITP Business Developer 2008, MCITP Database Administrator 2008, and MCITP Database Developer 2008, and has a Bachelor of Science degree in Computer Engineering. His blog is at .

Master Data Services: Versioning

In Master Data Services (MDS), you can create multiple versions of the master data within a model.  When you create a model for the first time, MDS creates a default initial version of your model data.  You can create as many versions you want for your model, either in sequential fashion (one version after another) or in simultaneous fashion (multiple versions in parallel).  This way you can ensure you have a dedicated/consistent version of your master data for downstream consumption while at the same time having another version for adding/deleting/modifying members or for testing your model data, without compromising consistency in master data availability.

You may want to have one version of the data marked as “current”, and another set marked as “proposed” (using Version Flags).  When the proposed version is confirmed as valid and clean, you can move that from proposed to current.

A version could be in either of these three status modes:

  • Open – A model version of “Open” status mode allows everyone with required access to add/delete/change the members, hierarchies of the model.  You can also run the business rules validation process to validate the data that it contains
  • Locked – A model version of “Locked” status mode allows only the model administrator to add/delete/change the members and hierarchies of the model and other users are allowed only read access to the locked version (even though they might be having update permission on the model).  A version is switched to “Locked” status mode to run the business rule validation and fix any issues with the data and that’s the reason not all users, except model administrator, are allowed to do the changes just to avoid inadvertent modification.  A locked version can be switched back to Open status mode if required (to allow other users to do changes other than model administrator) or can be switched forward to “Committed” status mode
  • Committed – Once all the business rules validation has passed in “Locked” status mode, this model version can be transitioned to “Committed” status mode and then you can create subscription views against this version to let reporting and analytical applications consume master data from the model version.  A committed version cannot be unlocked (this means no changes are allowed on the committed version) though you can create another copy of committed version in parallel to do changes to the members and hierarchies
Here is a flowchart of all the modes:

Two important notes about using versioning:

  1. Creating a new version for a model causes a whole new copy of ALL the data in the model to be created, which could take a long time if you have a lot of data
  2. If you turn transaction logging on while staging, every change to the entity will be logged as a transaction.  Transaction logging is on by default when you use Excel or the web UI to add/edit members

More info:

Versions (Master Data Services)

MDS Versioning, Permission and Security

Video Microsoft MDS :: Version Management Part 1: Working with Versions


Leave a comment on the original post [, opens in a new window]

Loading comments...