質問

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

役に立ちましたか?

解決

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

ただし、 Log Rescue を使用できる場合があります。これがこの場合に役立つかどうかはわかりません。

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

他のヒント

いいえ、元に戻すバックアップがない限り。

その間違いを一度やったことがあります。ここで、BEGIN TRANを使用してすべての手動操作を開始します。 その場合に起こり得る最悪の事態は、TRANのコミットを忘れてテーブルのロックを保持することです。

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top