Extended Properties Editor

Since LiveDoco is already using MS_Description Extended Properties to store database object comments - the next logical step was to allow users to access other extended properties in the target database as well. Extended Properties is a fantastic feature of the Microsoft SQL Server, very similar to .NET Attributes. They could be used to store user friendly column names or input masks or some tags that could have had special meaning for various ORMs such as Entity Framework or NHibernate - For example to refine what a particular foreign key represents - a "has-a" or inheritance relationship.

Given all these benefits it is quite surprising Extended Properties are currently so underused. One of the reasons could be that it is not very easy to access Extended Properties in the Microsoft SQL Server Management Studio. LiveDoco makes this task very easy. It has a "Tag" editable drop-down on the main toolbar in the explorer screen that lists all Extended Property names in the database and allows to set the current or active tag name.

To add a custom Extended Property (say "FriendlyName") - first type it in the Tag drop-down and hit enter. This will make select it as current Extended Property name. Then click on the pencil icon next to the column, table or any other database object that has that icon to add an Extended Property to that object. Once you hit "Save" on the dialog that pops up - LiveDoco will add an Extended Property named "FriendlyName" to the object and with its Value set to whatver was typed in that dialog.

LiveDoco as Extended Property Editor

LiveDoco currently has a limitation though - Extended Property value's data type is SQL_VARIANT in the database but LiveDoco always adds them as text, even if you enter a number or a date. We might add a datatype dropdown to the edit dialog in the future if there is a demand for such feature.