データベースの完全バックアップ (SQL Server)

データベースの完全バックアップでは、データベース全体をバックアップします。 このバックアップにはトランザクション ログの一部が含まれるため、データベースの完全バックアップを復元した後に、データベース全体を復旧することができます。 データベースの完全バックアップは、バックアップが完了した時点でのデータベースを表します。

ヒントヒント

データベース サイズが大きくなると、データベースの完全バックアップにかかる時間は長くなり、必要な記憶領域も増加します。 このため、大きなデータベースの場合は、データベースの完全バックアップを一連の差分データベース バックアップで補完することができます。 詳細については、「差分バックアップ (SQL Server)」を参照してください。

セキュリティに関する注意セキュリティに関する注意

データベースをバックアップすると、TRUSTWORTHY は OFF に設定されます。 TRUSTWORTHY を ON に設定する方法の詳細については、「ALTER DATABASE の SET オプション (Transact-SQL)」を参照してください。

このトピックの内容

  • 単純復旧モデルでのデータベース バックアップ

  • 完全復旧モデルでのデータベース バックアップ

  • データベースの完全バックアップを使用したデータベースの復元

  • 関連タスク

単純復旧モデルでのデータベース バックアップ

単純復旧モデルでは、データベースをバックアップした後に障害が発生すると、その間の作業内容が失われる可能性があります。 作業損失の可能性は、次のバックアップまで、データを更新するたびに増加します。次の完全バックアップで作業損失の可能性はゼロに戻り、そこから再び増加していきます。 作業損失の可能性は、バックアップ間の時間が増加します。 次の図に、データベースの完全バックアップのみを使用するバックアップ方法における作業損失の可能性を示します。

データベース バックアップ間でのデータ損失の危険性

例 (Transact-SQL)

次の例では、WITH FORMAT を使用してデータベースの完全バックアップを作成することにより、既存のバックアップを上書きして新しいメディア セットを作成します。

-- Back up the AdventureWorks2012 database to new media set.
BACKUP DATABASE AdventureWorks2012
    TO DISK = 'Z:\SQLServerBackups\AdventureWorksSimpleRM.bak' 
    WITH FORMAT;
GO

[先頭に戻る]

完全復旧モデルでのデータベース バックアップ

完全復旧と一括ログ復旧を使用するデータベースには、データベース バックアップが必要です。ただし、それだけでは十分とは言えません。 トランザクション ログのバックアップも必要です。 次の図に、完全復旧モデルで可能な限り単純化したバックアップ方法を示します。

一連の完全データベース バックアップとログ バックアップ

ログ バックアップの作成方法の詳細については、「トランザクション ログのバックアップ (SQL Server)」を参照してください。

例 (Transact-SQL)

次の例では、WITH FORMAT を使用してデータベースの完全バックアップを作成することにより、既存のバックアップを上書きして新しいメディア セットを作成します。 その後、トランザクション ログをバックアップします。 実際の状況では、一連の定期的なログ バックアップを実行する必要があります。 この例では、完全復旧モデルが使用されるように AdventureWorks2012 サンプル データベースを設定します。

USE master;
ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
GO
-- Back up the AdventureWorks2012 database to new media set (backup set 1).
BACKUP DATABASE AdventureWorks2012
  TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012FullRM.bak' 
  WITH FORMAT;
GO
--Create a routine log backup (backup set 2).
BACKUP LOG AdventureWorks2012 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012FullRM.bak';
GO

[先頭に戻る]

データベースの完全バックアップを使用したデータベースの復元

データベースを復元することによって、データベースの完全バックアップからワン ステップで任意の場所にデータベース全体を再作成できます。 データベースの完全バックアップには、バックアップ完了時までデータベースを復旧するのに十分なトランザクション ログが含まれています。 復元されたデータベースは、データベース バックアップが完了した時点の元のデータベースの状態から、コミットされていないトランザクションを差し引いた状態と一致します。 完全復旧モデルでは、さらに、後続のすべてのトランザクション ログ バックアップを復元する必要があります。 データベースが復旧されると、コミットされていないトランザクションはロールバックされます。

詳細については、「データベースの全体復元 (単純復旧モデル)」または「データベースの全体復元 (完全復旧モデル)」を参照してください。

関連タスク

データベースの完全バックアップを作成するには

バックアップ ジョブのスケジュールを設定するには

メンテナンス プラン ウィザードの使用

[先頭に戻る]

関連項目

概念

SQL Server データベースのバックアップと復元

バックアップの概要 (SQL Server)

Analysis Services データベースのバックアップと復元