Compares Favourably is a database schema comparison tool for SQL Server 2005. And 2008, maybe. I dunno. I haven't actually tried it. Note the British spelling. This is in retaliation to having to type colour with no U at least five times a day.
Once you have supplied the connection details of two databases Compares Favourably will check the tables, stored procedures, views and users of the two databases and highlight any differences in their structure, such as different column types, collations or defaults and missing check columns, constraints or indexes. As a user you have a fair amount of control over the detail the checks go into in an effort to keep the signal to noise ratio high.

Download
The source can also be downloaded. The main point of interest is probably the code which generates the DDL, as there's a wealth of uses for that. That can be found in the charmingly titled SqlServerNoSmoScriptProvider.cs. Everything else is fairly specific to the project. There's some simple custom controls that someone might be able to learn from, but this is my first real WinForms app, so I'm almost certainly doing it wrong.
Subversion
The downloads on this page tend to lag behind the repository. If you want to get a copy of the very latest, the Subversion repository is open for reads from the URL below:
http://svn.xp-dev.com/svn/Colourblind_ComparesFavourably
Installation
- Open the ZIP file
- Copy the bin folder somewhere
- Run ComparesFavourably.exe
- Rejoice
Additional Credits
Matthias Hertel for his implementation of Eugene Myers' diffing algorithm.
Weifen Luo and friends for their DockPanel.
FAQ
Q. Who is this pitched at?
A. Anyone who wants to compare one database to another, but is unwilling or unable to pay for Redgate DB Compare. Hobbyists, I guess. The other advantage this has is that I can upload this to remote servers and it's good to go. No install, no configuration, no bollocks.
Q. Why should I use this over Some Company's Product A?
A. In a corporate environment you probably shouldn't, to be honest. If you use this and the everything explodes then I'm not taking responsibility. If someone asks you what happened and you lay the blame on a faceless code-cludger in the Intertubes who swears too much then your colleuges will probably set fire to your car, with you in it, and I don't want to be held responsible for anyone being set on fire. Except maybe mime artists. And Jimmy Somerville. But I digress.
Q. So you don't trust it?
A. I am confident that the DDL generation is correct. There are automated tests with run comparisons against the output of SMO (which is used by Server Management Studio for its DDL generation) but I don't use half of the features available in SQL Server. In short, I use Redgate at work (where the stakes are higher and I'm not paying - fnah) and this at home.
Q. If you're using SMO as your control case, why don't you just use SMO?
A. That's a rant for another day.
Q. Are you going to include Feature X?
A. Possibly. If people ask for it I'll look into it. Bear in mind that this is mostly a hobby project though, so I am slave to no man. If I think it's a stupid idea or I simply can't be arsed, then it won't happen. That said I'm pretty open to suggestions, and there is absolutely no harm in asking. To be honest I'll probably be so flattered anyone is using it I'll code in blackjack and hookers.
Q. Where do I report bugs?
A. At the moment your best bet is to drop me a line here.
Ch-ch-ch-changes
2010/06/10 - Updated downloads. Added SVN link. Removed out-of-date information about SMO assemblies
2009/12/24 - The zeroth version of this page