• Great article.

    I've been enforcing extended properties on database objects now for two years and it has made an incredible difference.

    Tables and procedures are now well documented.

    SSRS reports are available to the developers to allow them to see the documentation, and with the aid of ApexSQLDOC I can produce a full data dictionary on request.

    Because we hold databases for multiple companies, all with almost the same structure, additional extended properties help identify who the database belongs to, who is responsible for it and contact details.

    On top of this some were developed to be used to help in code rollout. Whilst the databases are 90% identical code, occasionally a procedure strays due to a fast hotfix. A quick change to a custom "SYNC" property allows us to alert developers that the code is different to other databases, and to DBAs to review the code ASAP to recode it and bring it back into line. This, with the aid of a few custom scripts, has decreased the rollout time of new projects from hours to a matter of minutes.

    It was difficult to persuade other people to use, but now that it is firmly embedded in the culture here it has proved worth its weight in gold. They are definitely an underused and extremely useful recourse.


    ---------------------------------------
    It is by caffeine alone I set my mind in motion.
    It is by the Beans of Java that thoughts acquire speed,
    the hands acquire shaking, the shaking becomes a warning.
    It is by caffeine alone I set my mind in motion.