기존 파일에서 파일 및 파일 그룹 복원(SQL Server)Restore Files and Filegroups over Existing Files (SQL Server)

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목에서는 SQL Server 2017SQL Server 2017 에서 SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 기존 파일에 대해 파일 및 파일 그룹을 복원하는 방법에 대해 설명합니다.This topic describes how to restore files and filegroups over existing files in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

항목 내용In This Topic

시작하기 전 주의 사항Before You Begin

제한 사항Limitations and Restrictions

  • 파일과 파일 그룹을 복원하는 시스템 관리자가 현재 복원될 데이터베이스를 사용하고 있는 유일한 사용자여야 합니다.The system administrator who is restoring the files and filegroups must be the only person currently using the database to be restored.

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

  • 전체 복구 모델 또는 대량 로그 복구 모델의 경우 파일을 복원하려면 먼저 활성 트랜잭션 로그(비상 로그라고도 함)를 백업해야 합니다.Under the full or bulk-logged recovery model, before you can restore files, you must back up the active transaction log (known as the tail of the log). 자세한 내용은 트랜잭션 로그 백업(SQL Server)을 사용하여 파일 및 파일 그룹을 복원하는 방법에 대해 설명합니다.For more information, see Back Up a Transaction Log (SQL Server).

  • 암호화된 데이터베이스를 복원하려면 데이터베이스를 암호화하는 데 사용된 인증서 또는 비대칭 키에 대한 액세스 권한이 있어야 합니다.To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. 인증서 또는 비대칭 키가 없으면 데이터베이스를 복원할 수 없습니다.Without the certificate or asymmetric key, the database cannot be restored. 따라서 데이터베이스 암호화 키를 암호화하는 데 사용되는 인증서는 백업이 필요한 동안에는 유지되어야 합니다.As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. 자세한 내용은 SQL Server Certificates and Asymmetric Keys을 참조하세요.For more information, see SQL Server Certificates and Asymmetric Keys.

보안Security

사용 권한Permissions

복원할 데이터베이스가 없으면 CREATE DATABASE 권한이 있어야 RESTORE를 실행할 수 있습니다.If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. 데이터베이스가 있으면 RESTORE 권한은 기본적으로 sysadmindbcreator 고정 서버 역할의 멤버와 데이터베이스의 소유자(dbo)에 설정됩니다. FROM DATABASE_SNAPSHOT 옵션의 경우 데이터베이스가 항상 있습니다.If the database exists, RESTORE permissions default to members of the sysadmin and dbcreator fixed server roles and the owner (dbo) of the database (for the FROM DATABASE_SNAPSHOT option, the database always exists).

멤버 자격 정보를 서버에서 항상 사용할 수 있는 역할에 RESTORE 권한이 제공됩니다.RESTORE permissions are given to roles in which membership information is always readily available to the server. 고정 데이터베이스 역할의 멤버 자격은 데이터베이스가 액세스 가능한 상태이며 손상되지 않은 경우에만 확인할 수 있는데, RESTORE 실행 시 데이터베이스가 항상 이러한 상태인 것은 아니므로 db_owner 고정 데이터베이스 역할의 멤버에게는 RESTORE 권한이 없습니다.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

SQL Server Management Studio 사용Using SQL Server Management Studio

기존 파일에서 파일과 파일 그룹을 복원하려면To restore files and filegroups over existing files

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진SQL Server Database Engine의 인스턴스에 연결하고 해당 인스턴스를 확장한 다음 데이터베이스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, expand that instance, and then expand Databases.

  2. 원하는 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크, 복원을 차례로 가리킨 다음 파일 및 파일 그룹을 클릭합니다.Right-click the database that you want, point to Tasks, point to Restore, and then click Files and Filegroups.

  3. 일반 페이지의 데이터베이스 목록 상자에 복원할 데이터베이스를 입력합니다.On the General page, in the To database list box, enter the database to restore. 새 데이터베이스를 입력하거나 드롭다운 목록에서 기존 데이터베이스를 선택할 수 있습니다.You can enter a new database or choose an existing database from the drop-down list. 이 목록에는 시스템 데이터베이스인 mastertempdb를 제외한 서버의 모든 데이터베이스가 포함되어 있습니다.The list includes all databases on the server, excluding the system databases master and tempdb.

  4. 복원할 백업 세트의 원본 및 위치를 지정하려면 다음 옵션 중 하나를 클릭합니다.To specify the source and location of the backup sets to restore, click one of the following options:

    • 데이터베이스From database

      목록 상자에 데이터베이스 이름을 입력합니다.Enter a database name in the list box. 이 목록에는 msdb 백업 기록에 따라 백업된 데이터베이스만 포함되어 있습니다.This list contains only databases that have been backed up according to the msdb backup history.

    • 장치From device

      찾아보기 단추를 클릭합니다.Click the browse button. 백업 장치 지정 대화 상자에서 백업 미디어 유형 목록 상자에 나열된 장치 유형 중 하나를 선택합니다.In the Specify backup devices dialog box, select one of the listed device types in the Backup media type list box. 백업 미디어 목록 상자에서 하나 이상의 장치를 선택하려면 추가를 클릭합니다.To select one or more devices for the Backup media list box, click Add.

      원하는 장치를 백업 미디어 목록 상자에 추가한 후 확인 을 클릭하여 일반 페이지로 돌아갑니다.After you add the devices you want to the Backup media list box, click OK to return to the General page.

  5. 복원에 사용할 백업 세트 선택 표에서 복원할 백업을 선택합니다.In the Select the backup sets to restore grid, select the backups to restore. 이 표는 지정한 위치에서 사용 가능한 백업을 표시합니다.This grid displays the backups available for the specified location. 기본적으로 복구 계획이 제안됩니다.By default, a recovery plan is suggested. 제안된 복구 계획을 재정의하려면 표에서 선택 항목을 변경합니다.To override the suggested recovery plan, you can change the selections in the grid. 선택 취소된 백업에 의존하는 모든 백업은 자동으로 선택 취소됩니다.Any backups that depend on a deselected backup are deselected automatically.

    열 머리글Column head Values
    복원Restore 확인란이 선택되어 있으면 백업 세트가 복원됩니다.The selected check boxes indicate the backup sets to be restored.
    이름Name 백업 세트의 이름입니다.The name of the backup set.
    파일 유형File Type 백업의 데이터 형식인 데이터, 로그또는 Filestream 데이터를 지정합니다.Specifies the type of data in the backup: Data, Log, or Filestream Data. 테이블에 포함된 데이터는 데이터 파일에 있고,Data that is contained in tables is in Data files. 트랜잭션 로그 데이터는 로그 파일에 있으며,Transaction log data is in Log files. 파일 시스템에 저장되는 BLOB(Binary Large Object) 데이터는 Filestream 데이터 파일에 있습니다.Binary large object (BLOB) data that is stored on the file system is in Filestream Data files.
    형식Type 수행된 백업 유형입니다. 전체, 차등또는 트랜잭션 로그일 수 있습니다.The type of backup performed: Full, Differential, or Transaction Log.
    ServerServer 백업 작업을 수행한 데이터베이스 엔진 인스턴스의 이름입니다.The name of the Database-Engine instance that performed the backup operation.
    논리적 파일 이름File Logical Name 파일의 논리적 이름입니다.The logical name of the file.
    데이터베이스Database 백업 작업과 관련된 데이터베이스의 이름입니다.The name of the database involved in the backup operation.
    Start DateStart Date 클라이언트의 국가별 설정으로 표시되는 백업 작업 시작 날짜 및 시간입니다.The date and time when the backup operation began, presented in the regional setting of the client.
    완료 날짜Finish Date 클라이언트의 국가별 설정으로 표시되는 백업 작업 완료 날짜 및 시간입니다.The date and time when the backup operation finished, presented in the regional setting of the client.
    크기Size 백업 세트의 크기를 바이트 단위로 표시한 것입니다.The size of the backup set in bytes.
    사용자 이름User Name 백업 작업을 수행한 사용자의 이름입니다.The name of the user who performed the backup operation.
  6. 페이지 선택 창에서 옵션 페이지를 클릭합니다.In the Select a page pane, click the Options page.

  7. 복원 옵션 패널에서 기존 데이터베이스 덮어쓰기(WITH REPLACE)를 선택합니다.In the Restore options panel, select Overwrite the existing database (WITH REPLACE). 복원 작업은 이름이 동일한 데이터베이스 또는 파일이 이미 있더라도 기존 데이터베이스 및 관련 파일을 덮어씁니다.The restore operation overwrites any existing databases and their related files, even if another database or file already exists with the same name.

  8. 확인을 클릭합니다.Click OK.

Transact-SQL 사용Using Transact-SQL

기존 파일에서 파일과 파일 그룹을 복원하려면To restore files and filegroups over existing files

  1. RESTORE DATABASE 문을 실행하여 파일과 파일 그룹 백업을 복원합니다. 이때 다음을 지정합니다.Execute the RESTORE DATABASE statement to restore the file and filegroup backup, specifying:

    • 복원할 데이터베이스의 이름The name of the database to restore.

    • 복원할 전체 데이터베이스 백업이 있는 백업 장치The backup device from where the full database backup will be restored.

    • 복원할 각 파일에 대한 FILE 절The FILE clause for each file to restore.

    • 복원할 각 파일 그룹에 대한 FILEGROUP 절The FILEGROUP clause for each filegroup to restore.

    • 각 파일이 같은 이름과 위치에 있는 기존 파일로 복원될 수 있도록 지정하기 위한 REPLACE 옵션The REPLACE option to specify that each file can be restored over existing files of the same name and location.

      주의

      REPLACE 옵션을 사용할 때는 주의하세요.Use the REPLACE option cautiously. 자세한 내용은 을(를) 참조하세요.For more information, see .

    • NORECOVERY 옵션.The NORECOVERY option. 백업을 만든 후 해당 파일들을 수정하지 않았으면 RECOVERY 절을 지정합니다.If the files have not been modified after the backup was created, specify the RECOVERY clause.

  2. 파일 백업을 만든 후에 파일이 수정된 경우에는 RESTORE LOG 문을 실행하여 트랜잭션 로그 백업을 적용합니다. 이때 다음을 지정합니다.If the files have been modified after the file backup was created, execute the RESTORE LOG statement to apply the transaction log backup, specifying:

    • 트랜잭션 로그가 적용될 데이터베이스의 이름The name of the database to which the transaction log will be applied.

    • 트랜잭션 로그 백업이 복원될 원본 백업 장치The backup device from where the transaction log backup will be restored.

    • 현재 트랜잭션 로그 백업 다음에 적용할 다른 트랜잭션 로그 백업이 있으면 NORECOVERY 절을 지정하고 없으면 RECOVERY 절을 지정합니다.The NORECOVERY clause if you have another transaction log backup to apply after the current one; otherwise, specify the RECOVERY clause.

      트랜잭션 로그 백업이 적용되는 경우 파일과 파일 그룹을 백업한 시점이 포함되어야 합니다.The transaction log backups, if applied, must cover the time when the files and filegroups were backed up.

예(Transact-SQL)Example (Transact-SQL)

다음 예에서는 MyNwind 데이터베이스의 파일과 파일 그룹을 복원하고 같은 이름의 기존 파일을 모두 바꿉니다.The following example restores the files and filegroups for the MyNwind database, and replaces any existing files of the same name. 또한 현재 시간으로 데이터베이스를 복원하기 위한 두 개의 트랜잭션 로그가 적용됩니다.Two transaction logs will also be applied to restore the database to the current time.

USE master;  
GO  
-- Restore the files and filesgroups for MyNwind.  
RESTORE DATABASE MyNwind  
   FILE = 'MyNwind_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyNwind_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyNwind_1  
   WITH NORECOVERY,  
   REPLACE;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log2  
   WITH RECOVERY;  
GO  

참고 항목See Also

Restore a Database Backup Using SSMS Restore a Database Backup Using SSMS
RESTORE(Transact-SQL) RESTORE (Transact-SQL)
파일 및 파일 그룹 복원(SQL Server) Restore Files and Filegroups (SQL Server)
백업 및 복원으로 데이터베이스 복사Copy Databases with Backup and Restore