Rod at work wrote:
Rick (skeleton567), I like your answer. Probably the majority of our databases are related to vendor applications, so they control the database schema and we're not allowed to change anything.
The position I refer to was pretty much the opposite. The company had originally contracted with Microsoft to provide DBA and developer support for several applications using replication to a nationwide chain of dealers and provide consolidated national account billing and reporting. I was one of the original in-house DBA's just before the roll-out.
Nearly all of our database design and application code was custom developed so there was little issue with software vendors. Once we took the project in-house, there was no outside development.
As DBA's, we developed hundreds of stored procedures as the back-end of the applications. In those days we were using Microsoft Visual Source Safe and kept very strict control of schema versions, upgrade scripts, and stored procedure code. We performed essentially all upgrades to remote servers by logging in and running upgrade scripts ourselves, normally on weekend nights, so we had very tight control over the process. As I recall, since I had little to do with the front-end, the developers kept control of their own code in their own Visual Source Safe, and put out upgrade packages for the local support folks at the remote locations to apply to their machines.
So version control was pretty tight. The issues arose in being able to get needed updates such as bug fixes and performance issues pushed through the QC testers and included in upgrade releases that were controlled by often non-technical Project Managers. This created problems for version control because we would have code 'checked out' with modifications that never got implemented but might then need to make further modification that would not include our fixes. Modificationswere often made to development servers which had never been implemented in production so we always had to be able to roll them back and keep track of them manually.
Disaster Recovery = Backup ( Backup ( Your Backup ) )