1

update コマンドを使用して、Sql Server 2000 データベースのテーブル全体を誤って更新してしまいました。私は実際には1行だけを更新するつもりでした。これで、2000 行すべてに更新が含まれます。この変更を元に戻す方法はありますか?

4

3 に答える 3

2

明示的なトランザクションで更新を開始しない限り、いいえ。

ただし、 Log Rescueを使用できる場合があります。この場合、これがあなたを助けることができるかどうかはわかりません。

より良いオプションは、バックアップを新しいデータベースに復元し、古いテーブルと新しいテーブルをマージすることです。

于 2008-11-12T08:37:47.400 に答える
0

利用可能な監査ログがある場合は、それらを使用して古い状態に戻します。そうしないと、その時点での最新のバックアップに戻す必要があります。ログを調べて特定のデータを取得できる製品がいくつかあります。Lumigent の Log Explorer ( http://www.ssw.com.au/SSW/LogExplorer/ ) はその 1 つですが、高価になる傾向があります。まだ持っていない場合は、すぐには役に立ちません。

現在のバックアップや監査テーブルがない場合は、履歴書を更新します。

于 2008-11-12T15:59:38.100 に答える
0

いいえ、元に戻すバックアップがない限り、そうではありません。

私は一度その過ちを犯したことがあります。これで、すべての手動操作を BEGIN TRAN で開始します。その場合に起こりうる最悪の事態は、COMMIT TRAN を忘れてテーブルをロックしたままにすることです。

于 2008-11-12T08:37:56.120 に答える