방법: 파일 및 파일 그룹 백업(Transact-SQL)

데이터베이스 크기와 성능 요구 사항으로 인해 전체 데이터베이스 백업이 불가능할 경우 이를 대신하여 파일 백업을 만들 수 있습니다. 파일 백업에는 하나 이상의 파일(또는 파일 그룹)에 있는 모든 데이터가 포함됩니다. 파일 백업에 대한 자세한 내용은 전체 파일 백업차등 파일 백업을 참조하십시오.

중요 정보중요

단순 복구 모델에서는 읽기/쓰기 파일을 모두 함께 백업해야 하며 이를 통해 데이터베이스를 동일한 지정 시간으로 복원할 수 있습니다. 이때 각 읽기/쓰기 파일 또는 파일 그룹을 개별적으로 지정하는 대신 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 ] ] ;

    옵션

    설명

    database

    트랜잭션 로그, 일부 데이터베이스, 전체 데이터베이스가 백업되는 데이터베이스입니다.

    FILE =logical_file_name

    파일 백업에 포함할 파일의 논리적 이름을 지정합니다.

    FILEGROUP =logical_filegroup_name

    파일 백업에 포함할 파일 그룹의 논리적 이름을 지정합니다. 단순 복구 모델에서 파일 그룹 백업은 읽기 전용 파일 그룹에만 사용할 수 있습니다.

    [ ,...f ]

    여러 개의 파일 및 파일 그룹을 지정할 수 있음을 나타내는 자리 표시자입니다. 이때 파일 또는 파일 그룹의 수는 제한이 없습니다.

    backup_device [ ,...n ]

    백업 작업에 사용할 1-64개의 백업 장치 목록을 지정합니다. 물리적 백업 장치를 지정하거나, 이미 정의된 경우 해당 논리적 백업 장치를 지정할 수 있습니다. 물리적 백업 장치를 지정하려면 다음 DISK 또는 TAPE 옵션을 사용합니다.

    { DISK | TAPE } =physical_backup_device_name

    자세한 내용은 백업 장치를 참조하십시오.

    WITH with_options [ ,...o ]

    필요에 따라 DIFFERENTIAL과 같은 하나 이상의 추가 옵션을 지정합니다.

    참고참고
    차등 파일 백업에는 기반으로 전체 파일 백업이 필요합니다. 자세한 내용은 차등 파일 백업을 참조하십시오.
  2. 전체 복구 모델에서는 트랜잭션 로그도 백업해야 합니다. 전체 파일 백업의 전체 세트를 사용하여 데이터베이스를 복원하려면 첫 번째 파일 백업을 시작할 때부터 모든 파일 백업을 포함할 정도의 충분한 로그 백업이 있어야 합니다. 자세한 내용은 방법: 트랜잭션 로그 백업 만들기(Transact-SQL)를 참조하십시오.

다음 예에서는 Sales 데이터베이스의 보조 파일 그룹에 있는 하나 이상의 파일을 백업합니다. 이 데이터베이스는 전체 복구 모델을 사용하고 다음과 같은 보조 파일 그룹을 포함합니다.

  • SGrp1Fi1 및 SGrp1Fi2 파일을 포함하는 SalesGroup1 파일 그룹

  • SGrp2Fi1 및 SGrp2Fi2 파일을 포함하는 SalesGroup2 파일 그룹

[!참고]

전체 복구 모델에서 로그를 자르고 데이터베이스를 특정 지정 시간으로 복원할 수 있도록 정기적인 로그 백업이 필요합니다.

1. 두 파일의 파일 백업 만들기

다음 예에서는 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

2. 보조 파일 그룹의 전체 파일 백업 만들기

다음 예에서는 두 보조 파일 그룹의 모든 파일에 대한 전체 파일 백업을 만듭니다.

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

3. 보조 파일 그룹의 차등 파일 백업 만들기

다음 예에서는 두 보조 파일 그룹의 모든 파일에 대한 차등 파일 백업을 만듭니다.

--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