SQL Serverでの特定時点回復:方法とベストプラクティス

SQL Serverにおける時系列復旧(PITR)について学びます。復旧モデル、SSMSやT-SQLなどの方法、およびベストプラクティスを含む内容です。

無料ダウンロード
VM、OS、DB、ファイル、NASなどに対応
takahashi-meitetsu

Updated by 高橋明哲 on 2025/08/14

目次
  • SQL Serverでの時刻指定復元の前提条件

  • SSMSを使用して時pointの復元を実行する

  • Transact-SQLを使用して時時点復元を実行する

  • SQL Serverの特定時点復元のプロフェッショナルなソリューション

  • 結論

データの誤った削除、データベースファイルの破損、ウイルス攻撃などといった状況が発生した場合でも、データベースのバックアップからある時点までの復元が可能です。

SQL Serverにおける時時点復元(PITR)は、データベースを特定の過去の時点に復元する重要なプロセスです。この処理は、潜在的なデータ損失を最小限に抑えながら、データの整合性と一貫性を保証します。

SQL Serverでの時刻指定復元の前提条件

データベースでの時刻指定復元は、トランザクションログの原則に基づいて行われます。SQL Serverデータベースでトランザクションが実行されると、そのトランザクションによって行われた変更の詳細がトランザクションログに記録されます。時刻指定復元を行うためには、トランザクションログバックアップに先立ち、データベースの完全バックアップも必要です。

SQL Server には 3 種類の回復モデルがありますが、すべてのモデルがあなたが必要な時点までデータベースを復元できるわけではありません。

シンプル リカバリー モデル:ログ バックアップは なく、完全バックアップのみです。したがって、ポイントインタイム リカバリーはサポートされません。

完全復旧モデル: このモードではトランザクション ログ バックアップと完全バックアップが必要であり、データベースを後で任意の時点まで復旧できるようにします。

バルクログモデル: このモードは tトランザクションログのバックアップを必要とします。これは完全復旧モードへの追加モードですが、 ポイントインタイム復旧はできません。

回復モデルを選択するには、SSMS で次の手順を簡単に実行できます: データベースを右クリック > [プロパティ] > [オプション] ウィンドウで 回復モデル を選択します。

リカバリモデルとその時刻指定リカバリにおける役割を理解することが重要です。適切なリカバリモデルを選択した後は、ツールを使用して時刻指定リカバリを実行できます。

次のセクションでは、SSMSとT-SQLを含む3つの回復ツールについて説明します。

SSMSを使用して時pointの復元を実行する

SQL Server Management Studio (SSMS) を使用して、データベースの管理や復旧操作を実行するためのグラフィカルユーザーインターフェースツールです。

SSMS を使用すると、ユーザーは復元する時点を簡単に選択したり、バックアップ ファイルの保存場所を指定したりすることができます。

復元操作を実行する前に、バックアップファイルを用意する必要があります。以下に簡単なバックアップ手順を示します。

SSMS でインスタンスに接続 > データベースを展開 > データベースを右クリック > タスク > バックアップ > バックアップの種類 > OK

SQL Serverのバックアップに関する詳細な手順や追加の方法が必要な場合は、SQL Serverバックアップガイド がお役に立てるかもしれません。

バックアップを確保したら、復元処理を進めることができます。SQL Server を時刻指定で復元するには、以下の手順を実行してください:

1. SSMS で インスタンス に接続します。> データベース を展開します。

2. 必要なデータベースを右クリック> タスク> 復元> データベース

3. [全般] ウィンドウで、復元のための ソース と 場所 を設定します。データベースまたはデバイスから選択できます

4. 復元先セクションで、データベースボックスには復元されるデータベース名が自動的に入力されます。データベース名を変更するには、データベースボックスに新しい名前を入力してください。

5. [復元先] セクションで 特定の日時 をクリック > 復元したい日時を選択 > OK

Transact-SQLを使用して時時点復元を実行する

もう1つの方法は、SQL Serverのプログラミング言語であるTransact-SQL (T-SQL) コマンドを使用することです。

適切なT-SQLステートメントを記述することで、復元ポイントを指定したり、バックアップファイルに対して復旧操作を実行したり、その他の復旧オプションを設定したりできます。

確かに、SQL Server で復元バックアップを実行するには一連の複雑な手順が必要です。T-SQL を使用して SQL Server をバックアップするための詳細な手順や包括的なガイドについては、SQL Server バックアップを参照することを強くお勧めします。データベースのポイントインタイム復元を実行する際に最も重要となるのは、常にデータベースの完全バックアップとトランザクションログバックアップを確保しておくことです。

SQL Server を特定の時点に復元するには、次の手順を実行できます:

1. サーバーインスタンスに接続する

2. 「新規クエリ」をクリックし、NORECOVERY オプションで RESTORE DATABASE ステートメントを実行します

3. 最後の差分データベース バックアップを(データベースを復旧せずに)復元します(存在する場合):

RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY

4. 作成された順序と同じ順序で各トランザクションログバックアップを適用し、ログの復元を停止する時刻を指定してください

RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT = time , RECOVERY

注: 復元するデータベースの実際の名前である「database_name」、「backup_device」を適切なバックアップデバイス(ディスクやテープなど)に、「time」を復元したい具体的な時間またはポイントに置き換えてください。

SQL Serverの特定時点復元のプロフェッショナルなソリューション

また、Vinchin Backup & Recoveryなどのサードパーティツールを使用して、SQL Serverデータベースを任意の時点に復元することができます。

Vinchin Backup & Recoveryは、プロフェッショナルな企業向けバックアップソリューションで、よりシンプルで使いやすく、直感的なインターフェースと高度なバックアップ・復元機能を備えており、ユーザーがデータをより柔軟に復元できるよう支援します。SQL Server 2019/2017/2016/2014/2012/2008や、MySQL、Oracle Database、PostgreSQL、MariaDBなどの他のデータベースのバックアップもサポートしています。

SQL ServerでVinchin Backup & Recoveryを使用してバックアップを実行するには、以下の手順に従ってください:

1. 「物理バックアップ」 > 「データベースバックアップ」 > バックアップ」 > 「SQL Server」を選択します。

2. バックアップ先 を選択します 

3. バックアップ戦略を選択します。完全バックアップとログバックアップを選択してください

4. 「送信」をクリックします

バックアップの作成が成功した後、復元プロセスを実行する準備が整います。 SQL Serverで時系列復元を実行するには、次の手順を実行できます:

1. 物理バックアップデータベース・バックアップリストアを選択リダクション・ポイントを選択

PITR

2. ターゲットインスタンスにチェックを入れる

pitr

3. 復元戦略の設定

pitr

4. 送信を選択

pitr

Winghin Backup & Recovery は 60 日間の無料トライアル期間が設けられていますので、ご自身の環境で自由にダウンロードしてテストしてください。ご質問やご懸念事項がある場合は、直接 Wingchin に連絡する か、または当社の 現地パートナー に問い合わせてください。当社のチームは、必要なサポートと援助を喜んで提供いたします。

結論

最終的に、特定時点の復元はSQL Serverのディザスタリカバリにおいて極めて重要です。これはデータベースを過去の特定の時間に復元しながらデータの完全性を維持し、データ損失を最小限に抑えることができる方法です。 SSMSやT-SQLコマンドなどの方法やVinchin Backup & Recoveryのようなアプリケーションがその実施のための便利な選択肢となります。それぞれの方法には固有の手順と利点があり、ユーザーが適切なアプローチを選択する柔軟性を提供しています。

共有:

Categories: Database Backup