I recommend you check out DB Ghost (
www.dbghost.com).
Not only does it compare databases and give you the differences, it can
also generate a delta script that is *guaranteed* to work.
It works on data as well as the schema (metadata).
Once you evolve beyond simply comparing databases is when DB Ghost
really starts to shine as it's big differentiator is that it can
compare and upgrade a target database from simple drop/create scripts
held in source control. The reason that this concept is so powerful is
that, no matter how many developers you have, as a DBA/Configuration
Manager your workload does not appreciably go up when it comes to
deploying the changes. The simple rule for the developers is 'If it is
checked in to source control it will be promoted at the next release'.
For the DBA all that is needed is a simple execution of DB Ghost to
compare and upgrade the test (for example) system. No matter how many
changes have been made, it could be one, it could be thousands, DB
Ghost will handle them all automatically.
The reason that this method is so compelling is that a major bottleneck
and time waster in most processes is the release process. What do you
use? the development database? Even when you use a
database-to-database diff tool you still have the onerous task of
looking at all the differences and deciding which does and does not get
promoted. It's a job I've done before and I found it excruciatingly
dull. With DB Ghost you don't have to filter the list of differences,
you simply use what is in source control. If there are any problems
discovered later on then you have a full audit trail in your source
control system of who made what change, when and why.
DB Ghost is the only tool that provides this integration with source
control and every one of our customers can't imagine developing SQL any
other way now.
So that you can be the judge a fully functional evaluation version can
be downloaded at
http://www.innovartis.co.uk/database...valuation.aspx
Regards,
Malcolm