ファイルおよびファイル グループをバックアップする方法 (Transact-SQL)

データベースのサイズやパフォーマンスの要件によりデータベースの完全バックアップが不可能な場合は、代わりに、ファイル バックアップを作成できます。ファイル バックアップには、1 つ以上のファイル (またはファイル グループ) 内のすべてのデータが含まれます。ファイル バックアップの詳細については、「ファイルの完全バックアップ」および「ファイルの差分バックアップ」を参照してください。

ms179401.note(ja-jp,SQL.90).gif重要 :
単純復旧モデルでは、読み取りと書き込みが可能なファイルはすべてまとめてバックアップする必要があります。これにより、データベースを一貫性のある時点に復元できます。読み取りと書き込みが可能なファイルまたはファイル グループを個別に指定するのではなく、READ_WRITE_FILEGROUPS オプションを使用します。このオプションにより、読み取りと書き込みが可能なすべてのファイル グループがデータベースにバックアップされます。READ_WRITE_FILEGROUPS を指定して作成されるバックアップは、部分バックアップと呼ばれます。詳細については、「部分バックアップ」を参照してください。

ファイルおよびファイル グループをバックアップするには

  1. ファイルまたはファイル グループのバックアップを作成するには、BACKUP DATABASE <file_or_filegroup> ステートメントを使用します。このステートメントでは、少なくとも次の項目を指定する必要があります。

    • データベースの名前。
    • ファイルまたはファイル グループごとに FILE 句または FILEGROUP 句。
    • 完全バックアップが書き込まれるバックアップ デバイス。

    ファイル バックアップの基本的な Transact-SQL 構文は次のとおりです。

    BACKUP DATABASE database

    { FILE **=**logical_file_name | FILEGROUP **=**logical_filegroup_name } [ ,...f ]

    TO backup_device [ ,...n ]

    [ WITH with_options [ ,...o ] ] ;

    オプション

  2. 完全復旧モデルでは、トランザクション ログもバックアップする必要があります。ファイルの完全バックアップの完全なセットを使用してデータベースを復元するには、最初のファイル バックアップの先頭から、すべてのファイル バックアップにわたって十分なログ バックアップが必要です。詳細については、「トランザクション ログ バックアップを作成する方法 (Transact-SQL)」を参照してください。

使用例

次の例では、Sales データベースのセカンダリ ファイル グループの 1 つ以上のファイルをバックアップします。このデータベースでは、完全復旧モデルを使用し、次のセカンダリ ファイル グループが含まれています。

  • SGrp1Fi1 ファイルと SGrp1Fi2 ファイルを含む、SalesGroup1 という名前のファイル グループ。
  • SGrp2Fi1 ファイルと SGrp2Fi2 ファイルを含む、SalesGroup2 という名前のファイル グループ。
ms179401.note(ja-jp,SQL.90).gifメモ :
完全復旧モデルでは、ログを切り捨てて、データベースを特定の時点に復元するために、定期的なログ バックアップが必要です。
A. 2 つのファイルのファイル バックアップの作成

次の例では、SalesGroup1 ファイル グループの SGrp1Fi2 ファイルと SalesGroup2 ファイル グループの SGrp2Fi2 ファイルのみのファイルの差分バックアップを作成します。

--Backup the files in the SalesGroup1 secondary filegroup.
BACKUP DATABASE Sales
   FILE = 'SGrp1Fi2', 
   FILE = 'SGrp2Fi2' 
   TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck'
GO
B. セカンダリ ファイル グループのファイルの完全バックアップの作成

次の例では、両方のセカンダリ ファイル グループの各ファイルの完全バックアップを作成します。

--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
   FILEGROUP = 'SalesGroup1',
   FILEGROUP = 'SalesGroup2'
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
GO
C. セカンダリ ファイル グループのファイルの差分バックアップの作成

次の例では、両方のセカンダリ ファイル グループの各ファイルの差分バックアップを作成します。

--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
   FILEGROUP = 'SalesGroup1',
   FILEGROUP = 'SalesGroup2'
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'
GO
   WITH 
      DIFFERENTIAL,
GO

参照

処理手順

データベース ファイルおよびファイル グループをバックアップする方法 (SQL Server Management Studio)

概念

バックアップ情報の表示
ファイルの完全バックアップ
ファイル復元の実行 (完全復旧モデル)

その他の技術情報

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手