>> How much down-time are we looking at? Is it a risky exercise?
Not a risky one..
Totally 10 to 15 minutes. Is that fine for you.
>> Is there a way to reliably drop the indexes, constraints, etc, in such a way that they can be easily (and correctly) re-created?
Yes. We have reliable methods.
>> Are there commercial tools available which will automate the process?
Yes...There are a few tools like Database Publishing Wizard given below. This will generate the scripts of our Entire database along with data. Once you create the scripts, change the collation of the required columns and run your scripts to create the modified database.
http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=enSteps to do it.
1. First 5 minutes of time to backup your Production database.
2. Restore it in another machine and create the Scripts using your Database Publishing wizard.
3. Change the collation in your Required columns.
4. Run the scripts to create another database.
5. Compare this one with your production database using Comparison tools like
a. ApexSQL Diff (
http://www.apexsql.com/sql_tools_diff.asp) - to compare DDL Changes.
b. ApexSQL Data Diff (
http://www.apexsql.com/sql_tools_datadiff.asp) - to compare Data changes.
6. Apply any changes if you need.
7. Restore your Production database once this is completely done. ( another 5 minutes to restore)
Hope this helps.