Share via


SQL Server Metadata Services Versioning

[This content is no longer valid. For the latest information on "M", "Quadrant", SQL Server Modeling Services, and the Repository, see the Model Citizen blog.]

SQL Server Modeling Services has several different versioning scenarios. Custom schemas require periodic changes that do not break dependent applications and queries. The Modeling Services database itself must reliably migrate to newer versions without compromising existing Modeling Services data. And applications versioning might require storing separate versions of application data. The architecture discussion in this topic focuses on the versioning of application data using Modeling Services Folders. For more information about the other versioning scenarios, see Versioning Scenarios (Modeling Services).

Data Versioning using Folders

Modeling Services supports the versioning of items for partitioning, security, and general organization. Versioning is implemented using Folders stored in the [Repository.Item].[Folders] view. Folders can point to parent Folders, creating a hierarchical layout. Subfolders become a natural way to group versions of a model.

For example, the system-provided Applications Folder does not refer to a parent Folder, making it a top-level Folder for containing all applications. A custom application creates a Folder in the [Repository.Item].[Folders] view that refers to the identifier of the parent Applications Folder. Each separate version of the custom application requires its own Folder that points back to the main Folder for that custom application. Consider the following example rows in the [Repository.Item].[Folders] view that highlights the relationships between Folders.

Id Name Folder

100

Applications

NULL

104

Custom Application

100

105

Custom Application 1.0

104

105

Custom Application 2.0

104

The Id column of the [Repository.Item].[Folders] view uniquely identifies each Folder. The Folder column points to the parent Folder.

Modeling Services tables include a column named Folder that has a foreign key reference to the Id column of the [Repository.Item].[FoldersTable] table. In this way, all Modeling Services items belong to one specific Folder. Note that items from multiple tables in different schemas can all refer to the same Folder.

See Also

Concepts

SQL Server Modeling Services Features
Versioning Scenarios (Modeling Services)