Marc, I am not trying to oversimplify the challenge. And by the way the author of the book reminded several times: test, test, test! Of course there must be rollback, but since the upgrade strategy is based on data redundancy and does not break compatibility with existing clients, risk of screwing up the production environment due to unsuccessful upgrade is not very high. Actually it is much lower than when you stop the whole system and must be up again with new data within limited time. It's also clear that during transition period some constraints have to be disabled. Nullability, foreign keys etc. They will be reenabled later when the transition period is over and database is in its real "version 2" state.
Вагиф Абилов MCP (Visual C++) Oslo, Norway If you're in a war, instead of throwing a hand grenade at the enemy, throw one of those small pumpkins. Maybe it'll make everyone think how stupid war is, and while they are thinking, you can throw a real grenade at them. Jack Handey.