First thing you will need is a table or other mechanism to store the version information of the schema. If nothing else so that you can bind your application and schema together. There is nothing more painful than a version of the application against the wrong schema - failing, corrupting data etc.
The application should reject or shutdown if its not the right version - you might get some blowback when its not right, but protects you from the really bad day when the database corrumpts the valuable data
You'll need a way to track changes such as SVN or something else - from SQL you can export the intial schema. From here you will need a mechanism to track changes using a nice tool like SQL comapre and then track the schema changes and match to an update in version number in the target database.
we keep each delta in a separate folder beneath the upgrade utility we built. This utility signs onto the server, reads the version info and then applies the transform scripts from the next version in the database until it can find no more upgrade scripts in its sub folder. This gives us the ability upgrade a database no matter how old it is to the current version. If there are data transforms unique the tenant, thse are going to get tricky.
of course you should always make a backup of the databse that writes to an external file preferrrable with an human identifiable version number so you can find it and restore it when the script(s) go bad. And eventually it will so just plan on figuring out how to recover and restore.
--
I saw there is some sort of schema upgrader tool in the new VS 2010 but I havent used it. that might also be useful to you.