I had an interesting problem this morning. I wiped out my development database for the West Wind Web Store by accident. Not a big deal, there’s a back up and its easy enough to restore, but it turns out that the dev back up was bit stale and there had been recent structure changes in the database.
SqlCompare and SqlDataCompare to the rescue. I’ve been using these RedGate tools that are part of their Sql Bundle for about a year now and it’s one of the most useful investments I’ve made. With SqlCompare I could pull down the structure and data from the staging database in real time. I was back up and running in 10 minutes here.
Along the same lines I got hammered this morning by a problem with the West Wind Web Store. I had made some recent changes to my dev database and not sent them up to the server. A couple of people ordered some products that had Skus that were too long for the old database. How do you merge your changes to the server? Again SqlCompare and the process literally takes only a few minutes. I can run a compare and update the remote database (as long as you can connect to it) directly.
It’s a little thing really, and something that should be built into the Database in the first place (I guess it is if you want to hassle with the setup for Replication).
Synching databases is one task that I do all the time and SqlCompare has made this job beautifully simple. In addition, it’s also a huge timesaver when shipping application updates. When I create a final build of an application using Sql Server or MSDE I create a database generation script for the app. I hang on to the old scripts so in a few months when an update rolls around I can go create an old format database and then compare it against the current one with SqlCompare. SC generates the full change script that I then can ship with app. End of story…
I’m not one to go pushing other products usually but when there’s something truly useful that made my day today it bears blearing out about…