Currently the Upgrade script from the Software Factory will always fully rebuild tables. This can be quite an issue when you for example need to change all your trace columns default values from getdate to getutc date. In this case all tables within your DB will be rebuild. Causing a major load and issue when executing this upgrade.
In my case I was unable to run this upgrade because of the LOG created during the upgrade. It was too large, over 100GB.
My fix was a manually writing upgrade script, which did not rebuild the tables but simply used an alter table alter column statement.
Result was great. Script ran in under 5 minutes. The rebuild script was running over 2 hours and still not finished.
I think the Upgrade script should use alter table alter column when possible. Because it is much faster and has a significantly lower load on the server and log files.
A few examples when an alter table alter column would be more than enough:
- Changed domain of a column
- Renamed a column
- Changed the default value of a column

