파일 및 파일 그룹 백업(SQL Server)Back Up Files and Filegroups (SQL Server)

이 항목에서는 SQL Server 2017SQL Server 2017 , SQL Server Management StudioSQL Server Management Studio또는 PowerShell을 사용하여 Transact-SQLTransact-SQL에서 파일 및 파일 그룹을 백업하는 방법에 대해 설명합니다.This topic describes how to back up files and filegroups in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell. 데이터베이스 크기와 성능 요구 사항으로 인해 전체 데이터베이스 백업이 불가능할 경우 이를 대신하여 파일 백업을 만들 수 있습니다.When the database size and performance requirements make a full database backup impractical, you can create a file backup instead. 파일 백업 에는 하나 이상의 파일(또는 파일 그룹)에 있는 모든 데이터가 포함됩니다.A file backup contains all the data in one or more files (or filegroups). 파일 백업에 대한 자세한 내용은 전체 파일 백업(SQL Server)차등 백업(SQL Server)을 참조하세요.For more information about file backups, see Full File Backups (SQL Server) and Differential Backups (SQL Server).

시작하기 전에 Before You Begin

제한 사항 Limitations and Restrictions

  • 명시적 또는 암시적 트랜잭션에서는 BACKUP 문을 사용할 수 없습니다.The BACKUP statement is not allowed in an explicit or implicit transaction.

  • 단순 복구 모델에서 읽기/쓰기 파일은 모두 함께 백업해야 합니다.Under the simple recovery model, read/write files must all be backed up together. 이렇게 하면 데이터베이스를 일정한 지정 시간으로 복원할 수 있습니다.This helps make sure that the database can be restored to a consistent point in time. 각 읽기/쓰기 파일 또는 파일 그룹을 개별적으로 지정하는 대신 READ_WRITE_FILEGROUPS 옵션을 사용하세요.Instead of individually specifying each read/write file or filegroup, use the READ_WRITE_FILEGROUPS option. 이 옵션은 데이터베이스의 모든 읽기/쓰기 파일 그룹을 백업합니다.This option backs up all the read/write filegroups in the database. READ_WRITE_FILEGROUPS를 지정하여 만드는 백업을 부분 백업이라고 합니다.A backup that is created by specifying READ_WRITE_FILEGROUPS is known as a partial backup. 자세한 내용은 부분 백업(SQL Server)을 참조하세요.For more information, see Partial Backups (SQL Server).

  • 제한 사항에 대한 자세한 내용은 백업 개요(SQL Server)을 참조하세요.For more information about limitations and restrictions, see Backup Overview (SQL Server).

권장 사항 Recommendations

  • 기본적으로 백업 작업을 성공적으로 수행할 때마다 SQL ServerSQL Server 오류 로그와 시스템 이벤트 로그에 항목이 추가됩니다.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. 로그를 자주 백업하는 경우 이러한 성공 메시지는 바로 누적되므로 엄청난 오류 로그가 쌓여 다른 메시지를 찾기 힘들 수 있습니다.If you back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. 이 경우 스크립트가 이러한 로그 항목에 종속되지 않을 경우 추적 플래그 3226을 사용하여 이러한 항목을 표시하지 않을 수 있습니다.In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries. 자세한 내용은 추적 플래그(Transact-SQL)를 참조하세요.For more information, see Trace Flags (Transact-SQL).

사용 권한 Permissions

BACKUP DATABASE 및 BACKUP LOG 권한은 기본적으로 sysadmin 고정 서버 역할과 db_ownerdb_backupoperator 고정 데이터베이스 역할의 멤버로 설정됩니다.BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.

백업 장치의 물리적 파일에서 발생하는 소유권과 사용 권한 문제는 백업 작업에 영향을 미칠 수 있습니다.Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL ServerSQL Server 는 장치를 읽고 쓸 수 있어야 하므로 SQL ServerSQL Server 서비스가 실행되는 계정에는 쓰기 권한이 있어야 합니다. service runs must have write permissions. 그러나 시스템 테이블의 백업 장치에 대한 항목을 추가하는 sp_addumpdevice는 파일 액세스 권한을 확인하지 않습니다.However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. 백업 장치의 물리적 파일에서 발생하는 이러한 문제는 백업 또는 복원을 시도할 때 실제 리소스를 액세스하기 전까지는 발생하지 않습니다.Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.

SSMS를 사용하여 파일 및 파일 그룹 백업Back up files and filegroups using SSMS

  1. SQL Server 데이터베이스 엔진SQL Server Database Engine의 해당 인스턴스에 연결한 다음 개체 탐색기에서 서버 이름을 클릭하여 서버 트리를 확장합니다.After connecting to the appropriate instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. 데이터베이스를 확장하고 해당 데이터베이스에 따라 사용자 데이터베이스를 선택하거나 시스템 데이터베이스 를 확장한 다음 시스템 데이터베이스를 선택합니다.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크를 가리킨 다음 백업을 클릭합니다.Right-click the database, point to Tasks, and then click Back Up. 데이터베이스 백업 대화 상자가 나타납니다.The Back Up Database dialog box appears.

  4. 데이터베이스 목록에서 데이터베이스 이름을 확인합니다.In the Database list, verify the database name. 필요에 따라 목록에서 다른 데이터베이스를 선택할 수 있습니다.You can optionally select a different database from the list.

  5. 백업 유형 목록에서 전체 또는 차등을 선택합니다.In the Backup type list, select Full or Differential.

  6. 백업 구성 요소 옵션에서 파일 및 파일 그룹을 클릭합니다.For the Backup component option, click File and Filegroups.

  7. 파일 및 파일 그룹 선택 대화 상자에서 백업할 파일 및 파일 그룹을 선택합니다.In the Select Files and Filegroups dialog box, select the files and filegroups you want to back up. 개별 파일을 하나 이상 선택하거나 파일 그룹의 확인란을 선택하여 해당 파일 그룹의 모든 파일을 자동으로 선택할 수 있습니다.You can select one or more individual files or check the box for a filegroup to automatically select all the files in that filegroup.

  8. 이름 입력란에 제시된 기본 백업 세트 이름을 사용하거나 다른 이름을 입력합니다.Either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. 필요에 따라 설명 입력란에 백업 세트에 대한 설명을 입력합니다.Optionally, in the Description text box, enter a description of the backup set.

  10. 백업 세트가 만료될 시기를 다음과 같이 지정합니다.Specify when the backup set will expire:

    • 백업 세트가 특정 일 수 후에 만료되게 하려면 다음 이후 (기본 옵션)를 클릭합니다.To have the backup set expire after a specific number of days, click After (the default option). 그런 다음 세트를 만든 후 세트가 만료되는 일 수를 입력합니다.Then, enter the number of days after set creation that the set will expire. 이 값은 0일에서 99999일 사이일 수 있습니다. 값 0일은 백업 세트 기간 제한이 없음을 의미합니다.This value can be from 0 to 99999 days; a value of 0 days means that the backup set will never expire.

      기본값은 서버 속성 대화 상자( 데이터베이스 설정 페이지)의백업 미디어 기본 보존 기간(일) 옵션에 설정되어 있습니다.The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). 이 옵션에 액세스하려면 개체 탐색기에서 서버 이름을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 데이터베이스 설정 페이지를 선택합니다.To access this option, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • 백업 세트가 특정 일자에 만료되게 하려면 날짜를 클릭한 다음 백업 세트가 만료될 날짜를 입력합니다.To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  11. 디스크테이프를 클릭하여 백업 대상 유형을 선택합니다.Choose the type of backup destination by clicking Disk or Tape. 추가를 클릭하면 단일 미디어 세트가 들어 있는 디스크나 테이프 드라이브에 대한 경로를 64개까지 선택할 수 있습니다.To select the paths of up to 64 disk or tape drives that contain a single media set, click Add. 선택한 경로는 백업할 위치 목록에 표시됩니다.The selected paths are displayed in the Backup to list.

    참고: 백업 대상을 제거하려면 해당 대상을 선택한 다음 제거를 클릭합니다.NOTE: To remove a backup destination, select it and click Remove. 백업 대상의 내용을 보려면 선택한 다음 내용을 클릭합니다.To view the contents of a backup destination, select it and click Contents.

  12. 고급 옵션을 보거나 선택하려면 페이지 선택 창에서 옵션 을 클릭합니다.To view or select the advanced options, click Options in the Select a page pane.

  13. 다음 중 하나를 클릭하여 미디어 덮어쓰기 옵션을 선택합니다.Select an Overwrite Media option, by clicking one of the following:

    • 기존 미디어 세트에 백업Back up to the existing media set

      이 옵션에는 기존 백업 세트에 추가 또는 기존 백업 세트 모두 덮어쓰기를 클릭합니다.For this option, click either Append to the existing backup set or Overwrite all existing backup sets. 기존 미디어 세트에 백업에 대한 자세한 내용은 미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server)를 참조하세요.For information about backing up to an existing media set, see Media Sets, Media Families, and Backup Sets (SQL Server).

      필요에 따라 미디어 세트 이름 및 백업 세트 만료 확인 을 선택하여 백업 작업에서 미디어 세트와 백업 세트가 만료되는 날짜와 시간을 확인하도록 합니다.Optionally, select Check media set name and backup set expiration to cause the backup operation to verify the date and time at which the media set and backup set expire.

      필요에 따라 미디어 세트 이름 입력란에 이름을 입력합니다.Optionally, enter a name in the Media set name text box. 이름을 지정하지 않는 경우 이름이 비어 있는 미디어 세트가 생성됩니다.If no name is specified, a media set with a blank name is created. 미디어 세트 이름을 지정하는 경우 실제 이름과 입력한 이름이 일치하는지 확인하기 위해 미디어(테이프 또는 디스크)를 확인합니다.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name that you enter here.

      미디어 이름을 비워 두고 검사하도록 확인란을 선택한 경우 미디어에서 미디어 이름을 비워 두는 것과 같은 결과가 나타납니다.If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • 새 미디어 세트에 백업하고 기존 백업 세트 모두 지우기Back up to a new media set, and erase all existing backup sets

      이 옵션에는 새 미디어 세트 이름 입력란에 이름을 입력하고 필요에 따라 새 미디어 세트 설명 입력란에 미디어 세트에 대한 설명을 입력합니다.For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box. 새 미디어 세트 만들기에 대한 자세한 내용은 미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server)를 참조하세요.For more information about creating a new media set, see Media Sets, Media Families, and Backup Sets (SQL Server).

  14. 안정성 섹션에서 필요에 따라 다음을 선택합니다.In the Reliability section, optionally check:

  15. 일반 페이지의 대상 섹션에서 지정한 대로 테이프 드라이브에 백업하는 경우 백업 후 테이프 언로드 옵션이 활성화됩니다.If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. 이 옵션을 클릭하면 언로드 전에 테이프 되감기 옵션이 활성화됩니다.Clicking this option enables the Rewind the tape before unloading option.

    참고: 일반 페이지의 백업 유형 섹션에서 지정한 대로 트랜잭션 로그 를 백업하지 않으면 트랜잭션 로그 섹션의 옵션이 비활성화됩니다.NOTE: The options in the Transaction log section are inactive unless you are backing up a transaction log (as specified in the Backup type section of the General page).

  16. SQL Server 2008 EnterpriseSQL Server 2008 Enterprise 이상 버전에서는 [백업 압축](../../relational-databases/backup-restore/backup-compression-sql-server.md)을 지원합니다.(../../relational-databases/backup-restore/backup-compression-sql-server.md). 기본적으로 백업은 백업-압축 기본값 서버 구성 옵션의 값에 따라 압축됩니다.By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. 그러나 현재 서버 수준 기본값에 관계없이 백업 압축을 선택하여 백업을 압축하고, 백업 압축 안 함을 선택하여 압축을 방지할 수 있습니다.However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    현재 백업 압축 기본값을 보려면To view the current backup compression default

T-SQL을 사용하여 파일 및 파일 그룹 백업Back up files and filegroups using T-SQL

  1. 파일 또는 파일 그룹 백업을 만들려면 BACKUP DATABASE <file_or_filegroup> 문을 사용합니다.To create a file or filegroup backup, use a BACKUP DATABASE <file_or_filegroup> statement. 최소한 이 문은 다음 항목을 지정해야 합니다.Minimally, this statement must specify the following:

    • 데이터베이스 이름입니다.The database name.

    • 각 파일 또는 파일 그룹에 대한 각각의 FILE 또는 FILEGROUP 절A FILE or FILEGROUP clause for each file or filegroup, respectively.

    • 전체 백업이 기록될 백업 장치The backup device on which the full backup will be written.

      파일 백업의 기본 Transact-SQLTransact-SQL 구문은 다음과 같습니다.The basic Transact-SQLTransact-SQL syntax for a file backup is:

      BACKUP DATABASE databaseBACKUP DATABASE database

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

      TO backup_device [ ,...n ]TO backup_device [ ,...n ]

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

    옵션Option 설명Description
    databasedatabase 트랜잭션 로그, 일부 데이터베이스, 전체 데이터베이스가 백업되는 데이터베이스입니다.Is the database from which the transaction log, partial database, or complete database is backed up.
    FILE =logical_file_nameFILE =logical_file_name 파일 백업에 포함할 파일의 논리적 이름을 지정합니다.Specifies the logical name of a file to include in the file backup.
    FILEGROUP =logical_filegroup_nameFILEGROUP =logical_filegroup_name 파일 백업에 포함할 파일 그룹의 논리적 이름을 지정합니다.Specifies the logical name of a filegroup to include in the file backup. 단순 복구 모델에서 파일 그룹 백업은 읽기 전용 파일 그룹에만 사용할 수 있습니다.Under the simple recovery model, a filegroup backup is allowed only for a read-only filegroup.
    [ ,...f ][ ,...f ] 여러 개의 파일 및 파일 그룹을 지정할 수 있음을 나타내는 자리 표시자입니다.Is a placeholder that indicates that multiple files and filegroups may be specified. 이때 파일 또는 파일 그룹의 수는 제한이 없습니다.The number of files or filegroups is unlimited.
    backup_device [ ,...n ]backup_device [ ,...n ] 백업 작업에 사용할 1-64개의 백업 장치 목록을 지정합니다.Specifies a list of from 1 to 64 backup devices to use for the backup operation. 물리적 백업 장치를 지정하거나, 이미 정의된 경우 해당 논리적 백업 장치를 지정할 수 있습니다.You can specify a physical backup device, or you can specify a corresponding logical backup device, if already defined. 물리적 백업 장치를 지정하려면 다음 DISK 또는 TAPE 옵션을 사용합니다.To specify a physical backup device, use the DISK or TAPE option:

    { DISK | TAPE } =physical_backup_device_name{ DISK | TAPE } =physical_backup_device_name

    자세한 내용은 백업 장치(SQL Server)를 참조하세요.For more information, see Backup Devices (SQL Server).
    WITH with_options [ ,...o ]WITH with_options [ ,...o ] 필요에 따라 DIFFERENTIAL과 같은 하나 이상의 추가 옵션을 지정합니다.Optionally, specifies one or more additional options, such as DIFFERENTIAL.

    참고: 차등 파일 백업에는 기반으로 전체 파일 백업이 필요합니다.Note: A differential file backup requires a full file backup as a base. 자세한 내용은 차등 데이터베이스 백업 만들기(SQL Server)를 참조하세요.For more information, see Create a Differential Database Backup (SQL Server).
  2. 전체 복구 모델에서는 트랜잭션 로그도 백업해야 합니다.Under the full recovery model, you must also back up the transaction log. 전체 파일 백업의 전체 세트를 사용하여 데이터베이스를 복원하려면 첫 번째 파일 백업을 시작할 때부터 모든 파일 백업을 포함할 정도의 충분한 로그 백업이 있어야 합니다.To use a complete set of full file backups to restore a database, you must also have enough log backups to span all the file backups, from the start of the first file backup. 자세한 내용은 트랜잭션 로그 백업(SQL Server)에 미러 데이터베이스를 준비하는 방법에 대해 설명합니다.For more information, see Back Up a Transaction Log (SQL Server).

예(Transact-SQL) Examples (Transact-SQL)

다음 예에서는 Sales 데이터베이스의 보조 파일 그룹에 있는 하나 이상의 파일을 백업합니다.The following examples back up one or more files of the secondary filegroups of the Sales database. 이 데이터베이스는 전체 복구 모델을 사용하고 다음과 같은 보조 파일 그룹을 포함합니다.This database uses the full recovery model and contains the following secondary filegroups:

  • SalesGroup1SGrp1Fi1 파일을 포함하는 SGrp1Fi2파일 그룹A filegroup named SalesGroup1 that has the files SGrp1Fi1 and SGrp1Fi2.

  • SalesGroup2SGrp2Fi1 파일을 포함하는 SGrp2Fi2파일 그룹A filegroup named SalesGroup2 that has the files SGrp2Fi1 and SGrp2Fi2.

1.A. 두 파일의 파일 백업 만들기Create a file backup of two files

다음 예에서는 SGrp1Fi2SalesGroup1 파일과 SGrp2Fi2 파일 그룹의 SalesGroup2 파일에 대해서만 차등 파일 백업을 만듭니다.The following example creates a differential file backup of only the SGrp1Fi2 file of the SalesGroup1 and the SGrp2Fi2 file of the SalesGroup2 filegroup.

--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.B. 보조 파일 그룹의 전체 파일 백업 만들기Create a full file backup of the secondary filegroups

다음 예에서는 두 보조 파일 그룹에 있는 모든 파일의 전체 파일 백업을 만듭니다.The following example creates a full file backup of every file in both of the secondary filegroups.

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

3.C. 보조 파일 그룹의 차등 파일 백업 만들기Create a differential file backup of the secondary filegroups

다음 예에서는 두 보조 파일 그룹에 있는 모든 파일의 차등 파일 백업을 만듭니다.The following example creates a differential file backup of every file in both of the secondary filegroups.

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

PowerShell 사용 Using PowerShell

  1. Backup-SqlDatabase cmdlet을 사용하고 -BackupAction 매개 변수의 값으로 Files 를 지정합니다.Use the Backup-SqlDatabase cmdlet and specify Files for the value of the -BackupAction parameter. 또한 다음 매개 변수 중 하나를 지정합니다.Also, specify one of the following parameters:

    • 특정 파일을 백업하려면 -DatabaseFileString 매개 변수를 지정합니다. 여기서 String 은 백업할 하나 이상의 데이터베이스 파일입니다.To back up a specific file, specify the -DatabaseFileString parameter, where String is one or more database files to be backed up.

    • 지정된 파일 그룹의 모든 파일을 백업하려면 -DatabaseFileGroupString 매개 변수를 지정합니다. 여기서 String 은 백업할 하나 이상의 데이터베이스 파일 그룹입니다.To back up all the files in a given filegroup, specify the -DatabaseFileGroupString parameter, where String is one or more database filegroups to be backed up.

      다음 예에서는 MyDB 데이터베이스의 보조 파일 그룹 'FileGroup1' 및 'FileGroup2'에 있는 모든 파일의 전체 파일 백업을 만듭니다.The following example creates a full file backup of every file in the secondary filegroups 'FileGroup1' and 'FileGroup2' in the MyDB database. 백업은 서버 인스턴스 Computer\Instance의 기본 백업 위치에 만들어집니다.The backups are created on the default backup location of the server instance Computer\Instance.

    --Enter this command at the PowerShell command prompt, C:\PS>  
    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"  
    

    SQL Server PowerShell 공급자 설정 및 사용Set up and use the SQL Server PowerShell provider

참고 항목See also

백업 개요(SQL Server) Backup Overview (SQL Server)
BACKUP(Transact-SQL) BACKUP (Transact-SQL)
RESTORE(Transact-SQL) RESTORE (Transact-SQL)
백업 기록 및 헤더 정보(SQL Server) Backup History and Header Information (SQL Server)
데이터베이스 백업(일반 페이지) Back Up Database (General Page)
데이터베이스 백업(백업 옵션 페이지) Back Up Database (Backup Options Page)
전체 파일 백업(SQL Server) Full File Backups (SQL Server)
차등 백업(SQL Server) Differential Backups (SQL Server)
파일 복원(전체 복구 모델) File Restores (Full Recovery Model)
파일 복원(단순 복구 모델) File Restores (Simple Recovery Model)