SQL Server 2000のロールバックおよび更新コマンド
-
08-07-2019 - |
質問
更新コマンドを使用して、誤ってSql Server 2000データベースのテーブル全体を更新しました。実際には、1行だけを更新することを意味していました。これで、2000行すべてに更新が含まれます。この変更をロールバックする方法はありますか?
解決
明示的なトランザクションで更新を開始しない限り、いいえ。
ただし、 Log Rescue を使用できる場合があります。これがこの場合に役立つかどうかはわかりません。
より良いオプションは、バックアップを新しいデータベースに復元し、古いテーブルと新しいテーブルをマージすることです。
他のヒント
いいえ、元に戻すバックアップがない限り。
その間違いを一度やったことがあります。ここで、BEGIN TRANを使用してすべての手動操作を開始します。 その場合に起こり得る最悪の事態は、TRANのコミットを忘れてテーブルのロックを保持することです。
利用可能な監査ログがある場合は、それらを使用して古い状態に戻します。それ以外の場合は、その時点で最新のバックアップに戻す必要があります。ログを調べて特定のデータを取得できる製品がいくつかありますLumigentのログエクスプローラー( http://www.ssw.com.au/SSW/LogExplorer/ )は1つですが、高価な傾向があり、まだ持っていない場合はすぐには役に立ちません。
現在のバックアップや監査テーブルがない場合、履歴書を更新します。
所属していません StackOverflow