ファイルおよびファイル グループをバックアップする方法 (Transact-SQL)
データベースのサイズやパフォーマンスの要件によりデータベースの完全バックアップが不可能な場合は、代わりに、ファイル バックアップを作成できます。ファイル バックアップには、1 つ以上のファイル (またはファイル グループ) 内のすべてのデータが含まれます。ファイル バックアップの詳細については、「ファイルの完全バックアップ」および「ファイルの差分バックアップ」を参照してください。
重要 : |
---|
単純復旧モデルでは、読み取りと書き込みが可能なファイルはすべてまとめてバックアップする必要があります。これにより、データベースを一貫性のある時点に復元できます。読み取りと書き込みが可能なファイルまたはファイル グループを個別に指定するのではなく、READ_WRITE_FILEGROUPS オプションを使用します。このオプションにより、読み取りと書き込みが可能なすべてのファイル グループがデータベースにバックアップされます。READ_WRITE_FILEGROUPS を指定して作成されるバックアップは、部分バックアップと呼ばれます。詳細については、「部分バックアップ」を参照してください。 |
ファイルおよびファイル グループをバックアップするには
ファイルまたはファイル グループのバックアップを作成するには、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 ] ] ;
オプション
完全復旧モデルでは、トランザクション ログもバックアップする必要があります。ファイルの完全バックアップの完全なセットを使用してデータベースを復元するには、最初のファイル バックアップの先頭から、すべてのファイル バックアップにわたって十分なログ バックアップが必要です。詳細については、「トランザクション ログ バックアップを作成する方法 (Transact-SQL)」を参照してください。
使用例
次の例では、Sales
データベースのセカンダリ ファイル グループの 1 つ以上のファイルをバックアップします。このデータベースでは、完全復旧モデルを使用し、次のセカンダリ ファイル グループが含まれています。
SGrp1Fi1
ファイルとSGrp1Fi2
ファイルを含む、SalesGroup1
という名前のファイル グループ。SGrp2Fi1
ファイルとSGrp2Fi2
ファイルを含む、SalesGroup2
という名前のファイル グループ。
メモ : |
---|
完全復旧モデルでは、ログを切り捨てて、データベースを特定の時点に復元するために、定期的なログ バックアップが必要です。 |
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)