2

トランザクション ログを時々バックアップする SQL Server 2008 R2 データベースがあります。今日、午前 12 時頃にデータベースで大きなエラーが発生しました...午前 8 時までのトランザクション ログと、午前 12 時から午後 16 時までのトランザクション ログがあります。

私の質問は、午前 8 時にデータベースの状態に戻るように、これらのトランザクション ログをデータベースにリバース マージすることはできますか?

または、古い完全バックアップを復元し、午前 8 時までのすべてのトランザクション ログを復元できる可能性はありますか?

少し前に完全バックアップが実行されており、そこから復元してtrnログを適用することを恐れているため、最初のオプションが望ましいです。私はそれについて誤って警戒していますか?そのシナリオ (完全なバックアップを復元し、trn ログを適用する) を行った場合、実際に悪いことが起こる可能性はありますか?

4

1 に答える 1

4

定期的なトランザクション ログのバックアップを作成しなくても、回復プロセスの成功には影響しません。データベースが完全復旧モデルである限り、トランザクションはオンライン トランザクション ログに保存され、トランザクション ログのバックアップが作成されるまで保持されます。トランザクション ログのバックアップを通常より遅く作成した場合、オンライン トランザクション ログが大きくなり、バックアップが大きくなる可能性があることを意味するだけです。取引履歴が失われることはありません。

トランザクション ログ バックアップの完全なチェーンを午前 8 時に戻すことで、データベース全体を特定の時点に正常にロールバックできます。

フル バックアップの復元と trn ログの適用については、何も問題はありませんが、本番環境で直接テストするのではなく、最初にテスト サーバーでシナリオをテストすることを常にお勧めします。

特定の時点に復元するには:

  1. SSMS でデータベースを展開します
  2. データベースを右クリックし、[タスク] | [タスク]を選択します。復元| データベース
  3. [全般] タブの [バックアップ セット] に、使用可能なバックアップが一覧表示されます。タイムラインをクリック
  4. [特定の日付と時刻]を選択し、[時間間隔]を変更してより広い時間範囲を表示し、ロールバックしたい時間にスライダーを移動します

ここに画像の説明を入力

詳細な手順については、こちらを参照してください:方法: 特定の時点に復元する (SQL Server Management Studio)

このプロセスでは、データベースに加えられたすべての変更がロールバックされることに注意してください。特定の変更のみをロールバックする場合 (たとえば、一部の削除されたデータのみを復元する、間違った更新を元に戻すなど)、ApexSQL Log などのサードパーティ ツールをお勧めします。

SQL Server データベースを特定の時点に戻す

データベースを特定の時点に復元する

免責事項: 私は ApexSQL でサポート エンジニアとして働いています。

于 2014-02-21T09:24:27.527 に答える