Review: SQL Deploy
SQL Deploy 9.7
Superior Software for Windows
Neutral Bay, Sydney, Australia
+ 61 2 9953 3000
Here's a problem many developers have faced: your application is out
there with customers, it's cranking along, and you've fixed some bugs or
enhanced some features. Now you need to update the SQL Server database
that it depends on, without losing customer data. You've got the SQL
scripts for the changes, but you're certainly not looking forward to
walking non-technical customers through using osql to apply them.
That's the problem that SSW's SQL Deploy is designed to solve. With SQL
Deploy installed, you can ship an XML-based settings file and a pack of
SQL scripts to your customers, tell them to drop them in a folder, and
let the application update itself. It will do this by calling out to SQL
Deploy to apply the changes. The sample code includes reference
implementations in both Windows forms and ASP.NET Web forms so you can
see how to do this. Alternatively, you can just have the customer run
SQL Deploy interactively if you'd prefer.
There are three modes of operation here. In the first, SQL Deploy
applies a single script. In the second, it applies all the scripts in a
directory -- but it's smart enough not to apply the same script twice
(it needs to keep an administrative table in your database to manage
this). Finally, it can apply the scripts to a test database and then
diff the results against your real database; this provides insurance for
the developer that the scripts really did capture all the changes that
SQL Deploy itself depends on .NET for its proper operation, so it's
probably only an option for .NET applications at this point. But if
you're doing a .NET app with a SQL Server database, this one is worth
For more reviews and opinions from Mike Gunderloy, click here.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.