upgrade dev, test till you are happy
upgrade test, test until you are happy
upgrade prod. If its a virtual, take a snapshot before the upgrade as a quick backout.
You cannot be doing OS and SQL upgrades that often for this to be a problem?
---------------------------------------------------------------------