4

質問がすべてを物語っていると思います。次の更新クエリがSQLServerManagementStudioで誤って実行されました。

update kms_students set student_campus='4' where student_campus='KL'

影響を受ける行は1000を超えていますが、そのテーブルにはstudent_campus='4'以前の多くの行がすでに含まれているため、識別できません。

ロールバックすることはできますか?

4

2 に答える 2

3

私はApexSQLがそのトリックを行うべきだと信じています。

ApexSQL は、基本的に特定のトランザクションとデータを復元するために必要なすべての情報を含む物理的なトランザクション ログを分析することによって機能しますが、MS は、バックアップを復元してから手動でトランザクションを復元する以外に、それを管理するためのすぐに使用できるツールを提供していません。RESTORE LOGSを使用して特定の日付までログを記録する

于 2012-11-02T05:16:38.460 に答える
0
  1. バックアップ。ほとんどのホスティング会社はそれを保持しています。できるだけ早く全員に電話してみてください。
  2. あなた自身のバックアップ。古くても役に立ちます。
  3. 多くのバックアップを保持し、実稼働環境でクエリを試行しないでください。絶対に。

少し簡単にするために、バックアップDBをオンラインにしてPHP/Pythonなどを実行して、バックアップの各レコードを比較し、必要に応じて現在のデータベースを「4」から「KL」に変更してみてください。

完璧ではないかもしれませんが、数日間の作業を避けるのに役立ちます。

于 2012-11-02T03:05:48.637 に答える