- ベストアンサー
Oracleで言うROLLBACKする方法について
最近SQL-Serverを使い出した初心者です。 こんな質問する事事態、お恥ずかしいのですが 教えてください。 該当テーブルにデータを一括インポートした際、 不必要なデータも紛れ込んでいました。 1件毎に削除すれば良いのですが莫大なデータなため 大変で元に戻したいのですが、バックアップしたものから 既に変ってしまっています。 そこで、UNDOまたはOracleで言うROLLBACKする方法等 無いのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 該当テーブルにデータを一括インポート > バックアップしたものから既に変ってしまっています。 この状態では、ROLLBACKどころではありませんね。 以下、BACKUPも含め、自己責任で。 1)該当テーブルのダミー[1]を作成し、該当テーブルをバックアップする。 2)該当テーブルのダミー[2]を作成し、データを一括インポートする 3)「ダミー[1]とダミー[2]の一致するレコード」を削除する。 単純に複数件削除のためなら、この段階でダミー[2]のレコードが全件無くなれば、ダミー[1]の一致したレコードも無いのでめでたしめでたし。 ここでダミー[2]が残るようなら残れば何らかの更新(Update,Delete)が行われたので、更なる追跡が必要。 ダミー[1]と現状データの差を調査し、どうするか、の判断が必要です。
お礼
残念ですが、やはりそうでしたか。 ご丁寧な回答有難うございました。 また質問させて頂いた際には、宜しくお願いします。