このトピックでは、SQL Server データベースのバックアップの利点、基本的なバックアップと復元の用語について説明し、SQL Server のバックアップと復元に関するバックアップと復元の戦略と、SQL Server のバックアップと復元のセキュリティに関する考慮事項について説明します。
SQL Server のバックアップと復元コンポーネントは、SQL Server データベースに格納されている重要なデータを保護するための重要な保護手段を提供します。 致命的なデータ損失のリスクを最小限に抑えるには、データベースをバックアップして、データの変更を定期的に保持する必要があります。 適切に計画されたバックアップと復元の戦略は、さまざまな障害によるデータ損失からデータベースを保護するのに役立ちます。 一連のバックアップを復元し、データベースを復旧して、災害に効果的に対応できるように準備することで、戦略をテストします。
SQL Server では、バックアップを格納するためのローカル ストレージに加えて、Azure Blob Storage サービスへのバックアップと Azure Blob Storage サービスからの復元もサポートされています。 詳細については、「 Azure Blob Storage Service を使用した SQL Server のバックアップと復元」を参照してください。
メリット
SQL Server データベースのバックアップ、テスト復元手順の実行、バックアップのコピーの安全なオフサイトの場所への保存により、致命的なデータ損失の可能性を防ぐことができます。
重要
これは、SQL Server データを確実に保護する唯一の方法です。
データベースの有効なバックアップを使用すると、次のような多くの障害からデータを回復できます。
メディアエラー。
たとえば、誤ってテーブルを削除すると、ユーザー エラーが発生します。
ハードウェアの障害 (ディスク ドライブの破損やサーバーの永続的な損失など)。
自然災害。 Azure Blob Storage サービスへの SQL Server バックアップを使用すると、オンプレミスの場所に影響を与える自然災害が発生した場合に使用するために、オンプレミスの場所とは異なるリージョンにオフサイト バックアップを作成できます。
さらに、データベースのバックアップは、あるサーバーから別のサーバーへのデータベースのコピー、Always On 可用性グループまたはデータベース ミラーリングの設定、アーカイブなどの日常的な管理目的に役立ちます。
コンポーネントと概念
バックアップ [動詞]
データ またはログ レコードを SQL Server データベースまたはそのトランザクション ログからバックアップ デバイス (ディスクなど) にコピーして、データ バックアップまたはログ バックアップを作成します。
バックアップ [名詞]
障害発生後のデータの復元と回復に使用できるデータのコピー。 データベースのバックアップを使用して、データベースを新しい場所にコピーすることもできます。
バックアップ デバイス
SQL Server バックアップの書き込み先で復元可能なディスクまたはテープ デバイス。 SQL Server バックアップは Azure Blob Storage サービスに書き込むこともできます。 URL 形式を使用して、バックアップ ファイルの宛先と名前を指定します。 詳細については、「 Azure Blob Storage Service を使用した SQL Server のバックアップと復元」を参照してください。
バックアップ メディア
1 つ以上のバックアップが書き込まれた 1 つ以上のテープまたはディスク ファイル。
データ バックアップ
データベース全体 (データベース バックアップ)、部分データベース (部分バックアップ)、またはデータ ファイルまたはファイル グループのセット (ファイル バックアップ) 内のデータのバックアップ。
データベース バックアップ
データベースのバックアップ。 データベースの完全バックアップは、バックアップが完了した時点のデータベース全体を表します。 データベースの差分バックアップには、データベースの最新の完全バックアップ以降に行われた変更のみが含まれます。
差分バックアップ
完全または部分的なデータベースの最新の完全バックアップ、または一連のデータ ファイルまたはファイル グループ (差分ベース) に基づくデータ バックアップで、そのベース以降に変更されたデータのみが含まれます。
完全バックアップ
特定のデータベースまたはファイル グループまたはファイルのセット内のすべてのデータと、そのデータを回復するのに十分なログを含むデータ バックアップ。
ログ バックアップ
以前のログ バックアップでバックアップされなかったすべてのログ レコードを含むトランザクション ログのバックアップ。 (完全復旧モデル)
回復する
データベースを安定した一貫性のある状態に戻す。
回復
データベースの起動フェーズまたは復旧による復元のフェーズ。データベースがトランザクション整合性状態になります。
復旧モデル
データベースのトランザクション ログのメンテナンスを制御するデータベース プロパティ。 復旧モデルの種類は、単純、完全、一括ログの 3 種類です。 データベースの復旧モデルによって、バックアップと復元の要件が決まります。
復元
指定した SQL Server バックアップから指定したデータベースにすべてのデータページとログ ページをコピーし、ログに記録された変更を適用してデータを転送することで、バックアップに記録されたすべてのトランザクションをロールフォワードするマルチフェーズ プロセス。
バックアップと復元の戦略の概要
データのバックアップと復元は、特定の環境に合わせてカスタマイズする必要があり、使用可能なリソースで動作する必要があります。 そのため、復旧のためにバックアップと復元を確実に使用するには、バックアップと復元の戦略が必要です。 適切に設計されたバックアップと復元の戦略は、特定のビジネス要件を考慮しながら、データの可用性を最大化し、データ損失を最小限に抑えます。
重要
データベースとバックアップを別のデバイスに配置します。 そうしないと、データベースを含むデバイスが失敗した場合、バックアップは使用できなくなります。 データとバックアップを別々のデバイスに配置すると、バックアップの書き込みとデータベースの運用環境での使用の両方の I/O パフォーマンスも向上します。
バックアップと復元の戦略には、バックアップ部分と復元部分が含まれます。 この戦略のバックアップ部分では、バックアップの種類と頻度、バックアップに必要なハードウェアの性質と速度、バックアップのテスト方法、バックアップ メディアの保存場所と方法 (セキュリティに関する考慮事項を含む) を定義します。 この戦略の復元部分では、復元を実行する担当者と、データベースの可用性とデータ損失を最小限に抑えるための目標を満たすために復元を実行する方法を定義します。 バックアップと復元の手順を文書化し、ドキュメントのコピーを実行ブックに保存することをお勧めします。
効果的なバックアップと復元の戦略を設計するには、慎重な計画、実装、テストが必要です。 テストが必要です。 復元戦略に含まれるすべての組み合わせでバックアップを正常に復元するまで、バックアップ戦略はありません。 さまざまな要因を考慮する必要があります。 これには以下が含まれます。
データベースの組織の運用目標、特にデータの可用性と損失からの保護の要件。
各データベースの性質(サイズ、使用パターン、コンテンツの性質、データの要件など)。
ハードウェア、担当者、バックアップ メディアを格納するための領域、格納されているメディアの物理的なセキュリティなどのリソースに対する制約。
注
SQL Server のディスク上ストレージ形式は、64 ビット環境と 32 ビット環境で同じです。 そのため、バックアップと復元は 32 ビット環境と 64 ビット環境で機能します。 ある環境で実行されているサーバー インスタンスに作成されたバックアップは、もう一方の環境で実行されているサーバー インスタンスに復元できます。
復旧モデルがバックアップと復元に与える影響
バックアップ操作と復元操作は、復旧モデルのコンテキスト内で行われます。 復旧モデルは、トランザクション ログの管理方法を制御するデータベース プロパティです。 また、データベースの復旧モデルによって、バックアップの種類と、データベースでサポートされる復元シナリオが決まります。 通常、データベースは単純復旧モデルまたは完全復旧モデルを使用します。 完全復旧モデルは、一括操作の前に一括ログ復旧モデルに切り替えることで補完できます。 これらの復旧モデルの概要と、それらがトランザクション ログ管理にどのように影響するかについては、「 トランザクション ログ (SQL Server)」を参照してください。
データベースに最適な復旧モデルの選択は、ビジネス要件によって異なります。 トランザクション ログの管理を回避し、バックアップと復元を簡略化するには、単純な復旧モデルを使用します。 作業損失の露出を最小限に抑えるには、管理オーバーヘッドを犠牲にして、完全復旧モデルを使用します。 バックアップと復元に対する復旧モデルの影響については、「バックアップの 概要 (SQL Server)」を参照してください。
バックアップ戦略を設計する
特定のデータベースのビジネス要件を満たす復旧モデルを選択したら、対応するバックアップ戦略を計画して実装する必要があります。 最適なバックアップ戦略はさまざまな要因に依存し、その中で特に重要なのは次のとおりです。
アプリケーションは 1 日に何時間データベースにアクセスする必要がありますか?
予測可能なオフピーク期間がある場合は、その期間のデータベースの完全バックアップをスケジュールすることをお勧めします。
変更と更新が発生する頻度はどのくらいですか?
変更が頻繁に行われる場合は、次の点を考慮してください。
単純復旧モデルでは、データベースの完全バックアップ間で差分バックアップをスケジュールすることを検討してください。 差分バックアップでは、前回のデータベースの完全バックアップ以降の変更のみがキャプチャされます。
完全復旧モデルでは、頻繁にログ バックアップをスケジュールする必要があります。 完全バックアップの合間に差分バックアップを行うようにスケジュールすると、データを復元した後で復元する必要のあるログ バックアップの数が減るので、復元時間を短縮することができます。
変更は、データベースのごく一部またはデータベースの大部分でのみ発生する可能性がありますか?
ファイルまたはファイル グループの一部に変更が集中している大規模なデータベースの場合は、部分バックアップやファイル バックアップが役立ちます。 詳細については、「 部分バックアップ (SQL Server) 」および「 完全ファイル バックアップ (SQL Server)」を参照してください。
データベースの完全バックアップにはどのくらいのディスク領域が必要ですか?
詳細については、このセクションで後述 するデータベースの完全バックアップのサイズの見積もりを参照してください。
データベースの完全バックアップのサイズを見積もる
バックアップと復元の戦略を実装する前に、データベースの完全バックアップで使用されるディスク領域の量を見積もる必要があります。 バックアップ操作では、データベース内のデータがバックアップ ファイルにコピーされます。 バックアップには、データベース内の実際のデータのみが含まれており、未使用の領域は含まれません。 そのため、バックアップは通常、データベース自体よりも小さくなります。 sp_spaceused システム ストアド プロシージャを使用して、データベースの完全バックアップのサイズを見積もることができます。 詳細については、「 sp_spaceused (Transact-SQL)」を参照してください。
バックアップのスケジュール
バックアップ操作の実行は、実行中のトランザクションに対する影響を最小限に抑えます。そのため、バックアップ操作は通常の操作中に実行できます。 運用環境のワークロードへの影響を最小限に抑えて、SQL Server バックアップを実行できます。
注
バックアップ中のコンカレンシーの制限については、「 バックアップの概要 (SQL Server)」を参照してください。
必要なバックアップの種類と各種類の実行頻度を決定したら、データベースのデータベース メンテナンス プランの一部として定期的なバックアップをスケジュールすることをお勧めします。 メンテナンス プランと、データベース バックアップとログ バックアップ用のメンテナンス プランの作成方法については、「 メンテナンス プラン ウィザードの使用」を参照してください。
バックアップをテストする
バックアップをテストするまで、復元戦略はありません。 データベースのコピーをテスト システムに復元することで、各データベースのバックアップ戦略を徹底的にテストすることが非常に重要です。 使用するすべての種類のバックアップの復元をテストする必要があります。
データベースごとに操作マニュアルを管理することをお勧めします。 この操作マニュアルでは、バックアップの場所、バックアップ デバイス名 (存在する場合)、およびテスト バックアップの復元に必要な時間を文書化する必要があります。
関連タスク
バックアップ ジョブのスケジュール設定
バックアップ デバイスとバックアップ メディアの操作
バックアップの作成
注
部分バックアップまたはコピーのみのバックアップの場合は、それぞれ PARTIAL または COPY_ONLY オプションで Transact-SQLBACKUP ステートメントを使用する必要があります。
SQL Server Management Studio の使用
Transact-SQL の使用
データ バックアップの復元
SQL Server Management Studio の使用
Transact-SQL の使用
トランザクション ログの復元 (完全復旧モデル)
SQL Server Management Studio の使用
Transact-SQL の使用
その他の復元タスク
Transact-SQL の使用
こちらもご覧ください
バックアップの概要 (SQL Server)
復元と復旧の概要 (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Analysis Services データベースのバックアップと復元
Full-Text カタログとインデックスのバックアップと復元
レプリケートされたデータベースのバックアップと復元
トランザクション ログ (SQL Server)
復旧モデル (SQL Server)
メディア セット、メディア ファミリ、およびバックアップ セット (SQL Server)