大規模なデータ セットを持つ顧客が数人いて、アップグレード手順中にさまざまなテーブルのスキーマを変更する必要があります (いくつかの列を追加し、他の名前を変更し、時々データ型を変更しますが、それはまれです)。
以前は、新しいスキーマで一時テーブルを使用してから、元のスキーマを削除して一時テーブルの名前を変更していましたが、ALTER table ...
代わりに使用することで劇的にスピードアップしたいと考えています。
私の質問は、どのようなデータの整合性とエラー処理の問題を考慮する必要があるかということです。テーブルへのすべての変更をトランザクションに含める必要がありますか (そうであれば、どのように?)、それとも DBMS は ALTER 操作に対して原子性と整合性を保証しますか?
アップグレードを開始する前にデータをバックアップすることを強くお勧めします。
SQLServer 2005 と Oracle をターゲットにする必要がありますが、異なるアプローチが必要な場合は、明らかに条件付きコードを追加できます。