• Hi,

    Change Control management is required for the following reasons: You want to know who broke it.

    Online systems like Flare or Rational Clearquest are helpful in maintaining who can request the change and to whom it is assigned.

    Scheduled updates to Prod are also helpful (for example 11 am Saturdays) - in that you can then see the next day if something broke, you can roll back

    Managing the differences between environments (Dev/QA/Prod) as well as the different versions of the SQL database is the trick.  I've found that using MS Visio to do this works like a charm - when it comes to the design of the database (tables & views) - as you can Update the Visio diagram to represent the database, and vice versa.  Visio sheets are also better maintained for viewing purposes - if you want to print them, you can - however I agree that printing them is futile as the design changes are then decided on and made on paper.

    Maintaining Stored Procedures & Triggers & UDF, etc - is best handled by generating Scripts of them.  Putting these Scripts into some or other form of code storage (MS SourceSafe / TortoiseSVN / CVS / etc) is not a bad idea - which I believe I will start doing ASAP - as versioning of the databse design you can maintain by saving the Visio file name incrementaly every time you make a change - and then document in you project documentation the change made in the respective versions.  Versioning the scripts can be done similarly; and then getting these files into you code storage will enable you to relax in regards to their whereabouts, and help you to get them back from anywhere in the world.

    Christiaan Pretorius

    http://www.digiata.com