Background
My group has 4 SQL Server databases:
I work in a Dev environment. When the time comes to promote the objects that I worked on (tables, views, functions stored by procs), I make a request to my manager, who is moving towards testing. After testing, she sends a request to the administrator, who promotes the UAT. After successful user testing, the same Administrator advances to production.
Problem
The whole process is inconvenient for several reasons.
- Each person must manually track their changes. If I update, add, delete any objects that I need to track, so that my mailing request contains everything that I did. Theoretically, if I miss something, or the UAT should catch it, but this is not obvious, and this is a waste of time for the tester. Anyway.
- A lot of the changes that I make are iterative and are done in the GUI, which means that there are no records of what changes I made, only the final result (at least as far as I know).
- We are in the rather early stages of building the data array, so most of the changes made, at least in terms of quantity, are minor: changing the data type for the column, changing the table names as we crystallize, what they will be used for, setting up functions and saved procedures, etc.
Question
People have been doing this kind of work for decades, so I believe there must be a much better way to manage the process. I would like if I could run the difference between the two databases to see how the structure was different, use this diff to create a script change, use this script change as my promotion request. Is it possible? If not, are there other ways to organize this process?
For the record, we are a 100 percent Microsoft store, now we are upgrading everything to SQL Server 2008, so any tools available in this package will be honest.
I should clarify that I'm not necessarily looking for diff tools. If this is the best way to synchronize our environment, then thatβs fine, but if there is a better way, I'm looking for it.
An example of what I really want are migrations to Ruby on Rails. Dead simple syntax, all changes are well documented automatically and by default, determining which migrations to run is almost trivially easy. I would really like it if something like that for SQL Server.
My ideal solution is 1) easy and 2) hard to spoil. Rails Migrations - both; everything I have done so far on SQL Server is neither one nor the other.
sql database sql-server
kubi
source share