バックアップの概要 (SQL Server)
適用対象: SQL Server
この記事では、SQL Server のバックアップ コンポーネントについて説明します。 データを保護するには、SQL Server データベースのバックアップの実施が不可欠です。 ここでは、バックアップの種類およびバックアップの制限事項について説明します。 このトピックでは、SQL Server のバックアップ デバイスとバックアップ メディアについても取り上げます。
条件
バックアップ [動詞]: SQL Server データベースまたはそのトランザクション ログからバックアップ デバイス (Disk など) にデータまたはログ レコードをコピーして、データ バックアップまたはログ バックアップを作成すること。
バックアップ [名詞]: 障害の発生後、データの復元と復旧に使用できる SQL Server データのコピー。 SQL Server データのバックアップは、データベース 、あるいは その 1 つ以上の ファイル またはファイル グループのレベルで作成されます。 テーブルレベルのバックアップは作成できません。 完全復旧モデルでは、データのバックアップに加えて、トランザクション ログのバックアップを作成する必要があります。
復旧モデル: データベースのトランザクション ログのメンテナンスを制御するデータベース プロパティ。 復旧モデルの種類は、単純、完全、一括ログの 3 種類です。 データベースのバックアップと復元の要件は、その復旧モデルによって決まります。
復元: データを直近の状態まで戻す複数のフェーズから成る処理。指定された SQL Server バックアップからすべてのデータおよびログ ページを指定されたデータベースにコピーするフェーズと、バックアップにログとして記録されているすべてのトランザクションをロールフォワード (ログに記録されている変更を適用) するフェーズで構成されます。
バックアップの種類
コピーのみのバックアップ: 通常の SQL Server バックアップのシーケンスから独立した特殊な用途のバックアップ。
データ バックアップ: データベース全体 (データベース バックアップ)、データベースの一部 (部分バックアップ)、または一連のデータ ファイルやファイルグループ (ファイル バックアップ) のバックアップ。
データベース バックアップ : データベースのバックアップ。 データベースの完全バックアップは、バックアップが完了した時点のデータベース全体を表します。 差分データベース バックアップには、最新の完全バックアップ以降に行われたデータベースへの変更のみが含まれます。
差分バックアップ: データベース全体、データベースの一部、または一連のデータ ファイルやファイル グループの最新の完全バックアップ (差分ベース) をベースとし、その差分ベース以後に変更されたデータ エクステントのみを含むデータ バックアップ。
部分的な差分バックアップでは、ファイル グループのデータのうち、前回の部分バックアップ以降に変更されたデータだけが記録されます。この前回の部分バックアップを差分に対するベースと呼びます。
完全バックアップ: 特定のデータベース、または一連のファイルやファイル グループ内のデータをすべて含み、さらにデータを復旧するために必要なログも含むデータ バックアップ。
ログ バックアップ: 前回のログ バックアップ (完全復旧モデル) でバックアップされなかったすべてのログ レコードを含むトランザクション ログのバックアップ。
ファイル バックアップ: 1 つ以上のデータベース ファイルまたはファイル グループから成るバックアップ。
部分バックアップ: データベースの一部のファイル グループのデータのみを格納します。プライマリ ファイル グループ、すべての読み取り/書き込みファイル グループのほか、必要に応じて指定された読み取り専用ファイルが含まれます。
バックアップ メディアの用語と定義
バックアップ デバイス: SQL Server のバックアップの書き込みと復元に使用されるディスクまたはテープ デバイス。 SQL Server のバックアップは、Azure Blob Storage に書き込むこともできます。バックアップ ファイルのバックアップ先と名前を指定するには URL 形式を使用します。 詳しくは、「Microsoft Azure Blob Storage を使用した SQL Server のバックアップと復元」をご覧ください。
バックアップ メディア: バックアップの書き込み先となる 1 つまたは複数のテープまたはディスク ファイル。
バックアップ セット: 正常に完了したバックアップ操作によってメディア セットに追加されるバックアップ コンテンツ。
メディア ファミリ: メディア セット内のミラー化されている一連のデバイス、またはミラー化されていない単一のデバイスで作成されたバックアップ。
メディア セット: テープやディスク ファイルなどのバックアップ メディアに順番を付けてまとめたもの。バックアップ メディアには、1 回以上のバックアップ操作によって、固定型の複数のバックアップ デバイスを使用して書き込まれます。
ミラー化メディア セット: メディア セットの複数のコピー (ミラー)。
バックアップ圧縮
SQL Server 2008 (10.0.x) Enterprise エディション以降のバージョンではバックアップの圧縮がサポートされており、SQL Server 2008 (10.0.x) 以降のバージョンでは圧縮されたバックアップを復元できます。 SQL Server 2016 (13.x) Standard エディション以降のバージョンでは、バックアップの圧縮と圧縮されたバックアップの復元がサポートされています。 詳細については、「バックアップの圧縮 (SQL Server)」を参照してください。
バックアップ操作の制限
オンラインでデータベースを使用中であってもバックアップを行うことができます。 ただし、次の制限事項があります。
オフライン データをバックアップできません。
オフライン データを暗黙的または明示的に参照するバックアップ操作は失敗します。 よく見られる例を次に示します。
データベースの完全バックアップを要求したが、データベースのいずれかのファイル グループがオフラインである場合。 データベースの完全バックアップにはすべてのファイル グループが暗黙的に含まれるため、この操作は失敗します。
このデータベースをバックアップするには、ファイル バックアップを使用し、オンラインのファイル グループのみを指定します。
部分バックアップを要求したが、読み取り/書き込みファイル グループがオフラインの場合。 部分バックアップにはすべての読み取り/書き込みファイル グループが必要なので、この操作は失敗します。
特定のファイルのファイル バックアップを要求したが、いずれかのファイルがオンラインでない場合。 操作は失敗します。 オンライン ファイルをバックアップするには、ファイル一覧からオフライン ファイルを削除し、操作を繰り返します。
通常、1 つ以上のデータ ファイルを使用できない状態でも、ログ バックアップは続行できます。 ただし、一括ログ復旧モデルで行われた一括ログ変更がいずれかのファイルに含まれている場合、バックアップを続行するにはすべてのファイルをオンラインにする必要があります。
コンカレンシーの制限事項
SQL Server は、オンライン バックアップ プロセスを使って、データベースの使用中にデータベースのバックアップを可能にします。 バックアップ中はほとんどの操作が可能です。たとえば、INSERT、UPDATE、または DELETE ステートメントはバックアップ操作中でも使用できます。 ただし、データベースの作成中または削除中にバックアップ操作を開始しようとすると、データベースの作成または削除操作が完了するまで、またはバックアップがタイムアウトするまで、バックアップ操作が待機します。
データベース バックアップやトランザクション ログ バックアップ中に、次の操作を実行することはできません。
ADD FILE
またはREMOVE FILE
オプションを指定したALTER DATABASE
ステートメントなどのファイル管理操作。データベースまたはファイルの圧縮操作。 これには自動圧縮操作も含まれます。
バックアップ操作実行中にデータベース ファイルを作成または削除しようとすると、作成操作または削除操作は失敗します。
バックアップ操作がファイル管理操作または圧縮操作の実行と重複すると、競合が発生します。 競合する操作のどちらが先に開始されたかにかかわらず、1 つ目の操作によって設定されたロックのタイムアウトを 2 つ目の操作が待機します(タイムアウト期間はセッション タイムアウトの設定によって制御されます)。ロックがタイムアウト期間内に解放されると、2 番目の操作が開始されます。 ロックがタイムアウトになると、2 番目の操作は実行されません。
関連タスク
バックアップ デバイスとバックアップ メディア
- Disk ファイルの論理バックアップ デバイスの定義 (SQL Server)
- テープ ドライブの論理バックアップ デバイスの定義 (SQL Server)
- ディスクまたはテープのバックアップ先を指定する (SQL Server)
- バックアップ デバイスを削除する (SQL Server)
- バックアップの有効期限の設定 (SQL Server)
- バックアップ テープまたはバックアップ ファイルの内容の表示 (SQL Server)
- バックアップ セット内のデータ ファイルおよびログ ファイルの表示 (SQL Server)
- 論理バックアップ デバイスのプロパティと内容の表示 (SQL Server)
- デバイスからのバックアップ復元 (SQL Server)
- チュートリアル: Azure Blob Storage に対する SQL Server のバックアップと復元
バックアップの作成
Note
部分バックアップまたはコピーのみのバックアップでは、Transact-SQL BACKUP ステートメントにそれぞれ PARTIAL
オプションまたは COPY_ONLY
オプションを使う必要があります。
- データベースの完全バックアップの作成
- トランザクション ログをバックアップする
- ファイルおよびファイル グループのバックアップ
- データベースの差分バックアップの作成 (SQL Server)
- データベースが破損したときのトランザクション ログのバックアップ (SQL Server)
- バックアップ中または復元中にバックアップ チェックサムを有効または無効にする (SQL Server)
- エラー後にバックアップまたは復元を続行するか中止するかを指定する
- リソース ガバナーを使用してバックアップの圧縮による CPU 使用率を制限する方法 (Transact-SQL)
- クイックスタート: Azure Blob Storage への SQL のバックアップと復元