質問がすべてを物語っていると思います。次の更新クエリがSQLServerManagementStudioで誤って実行されました。
update kms_students set student_campus='4' where student_campus='KL'
影響を受ける行は1000を超えていますが、そのテーブルにはstudent_campus='4'
以前の多くの行がすでに含まれているため、識別できません。
ロールバックすることはできますか?
質問がすべてを物語っていると思います。次の更新クエリがSQLServerManagementStudioで誤って実行されました。
update kms_students set student_campus='4' where student_campus='KL'
影響を受ける行は1000を超えていますが、そのテーブルにはstudent_campus='4'
以前の多くの行がすでに含まれているため、識別できません。
ロールバックすることはできますか?
私はApexSQLがそのトリックを行うべきだと信じています。
ApexSQL は、基本的に特定のトランザクションとデータを復元するために必要なすべての情報を含む物理的なトランザクション ログを分析することによって機能しますが、MS は、バックアップを復元してから手動でトランザクションを復元する以外に、それを管理するためのすぐに使用できるツールを提供していません。RESTORE LOGSを使用して特定の日付までログを記録する
少し簡単にするために、バックアップDBをオンラインにしてPHP/Pythonなどを実行して、バックアップの各レコードを比較し、必要に応じて現在のデータベースを「4」から「KL」に変更してみてください。
完璧ではないかもしれませんが、数日間の作業を避けるのに役立ちます。