Properties

Each schema, object, column and SSAS Tabular measure can have properties.

The main application area of the properties is the use in the documentation generator.

Object and column properties can also be inherited along the object references or along the column references.

Properties are stored in:

The following properties are not stored in these tables, because the synchronization of the RepoObjects with the dwh database is done via these properties:

  • RepoSchema_guid

  • RepoObject_guid

  • RepoObjectColumn_guid

  • Measure_guid

optional synchronization of properties between repository and dwh

The properties listed above are the only ones that are mandatorily synchronized. Other properties can be optionally synchronized if it is desired to manifest them also in the database in the code of objects.

In SQL Server, extended properties have no creation or modification date. Therefore, it is not possible to determine if and when there were changes. For synchronization of RepoSchema_guid, RepoObject_guid and RepoObjectColumn_guid properties there is a complicated process to allow changes in both repository and dwh in parallel and merge them. With "normal" properties this effort is not made. The database developer must decide for himself if and when he wants to synchronize the optional properties and in which direction.

It is highly recommended to transfer existing properties from the dwh to the repository after "Create, update and connect repository database". For this purpose there is the procedure:

And it is recommended that after this initial transfer of the extended properties from the dwh to the repository, they should only be managed in the repository.

It is possible, but not necessary, to synchronize the properties from the repository to the dwh extended properties:

How to define properties

Properties are used and changed by Properties Inheritance.

It is possible to define descriptions for objects (tables, views, procedures, functions, …​) and measures outside the repository database, directly in the sources of the documentation generator. These descriptions then also exist only outside the repository. They are therefore also not subject to inheritance.
On the other hand, it is easier to maintain them uniformly there and to place them under version control.