指定した時点にSQL Serverデータベースを復元する方法は何ですか?
指定した時間点にSQL Serverデータベースを復元するには、以下の手順に従ってください。
- まず、データベースが完全またはシンプルなリカバリーモードになっていることを確認してください。データベースがシンプルなリカバリーモードの場合、ポイントインタイムリカバリーはできません。
- 指定された時点までのデータベースをバックアップするために、次のT-SQLステートメントを使用します:
BACKUP DATABASE [YourDatabase] TO DISK = 'C:\YourBackupFile.bak' WITH FORMAT, NOINIT, NORECOVERY, COPY_ONLY, STATS = 10;
- 指定された時点までデータベースを復元するために、次のT-SQLステートメントを使用します。
RESTORE DATABASE [YourDatabase] FROM DISK = 'C:\YourBackupFile.bak' WITH FILE = 1, NORECOVERY, STOPAT = 'SpecifyDateTime';
上記の文中で、’SpecifyDateTime’はあなたが復元したい時点です。実際の日時に置き換えることを確認してください。
- 最後に、以下のT-SQLステートメントを実行してデータベースを最新のトランザクションログバックアップまで復元します。
RESTORE LOG [YourDatabase] FROM DISK = 'C:\YourTransactionLogBackup.trn' WITH NORECOVERY;
- 現在、データベースは指定された時点に正常に復元されているはずです。データベースを引き続き使用して、利用可能な状態に設定してください。
RESTORE DATABASE [YourDatabase] WITH RECOVERY;
上記の手順を実行する前に、念のためバックアップを取る必要があります。また、これらの操作は生産環境のデータベースにのみ適用し、業務に影響を与えないように非ピーク時に実施することを確認してください。