백업 및 복원으로 데이터베이스 복사Copy Databases with Backup and Restore

이 항목 적용 대상: 예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 2005SQL Server 2005 이상 버전을 사용하여 만든 사용자 데이터베이스 백업을 복원하여 새 데이터베이스를 만들 수 있습니다.In SQL Server 2017SQL Server 2017, you can create a new database by restoring a backup of a user database created by using SQL Server 2005SQL Server 2005 or a later version. 그러나 이전 버전을 사용하여 만든master , model msdb SQL ServerSQL Server 백업은 SQL Server 2017SQL Server 2017를 통해 복원할 수 없습니다.However, backups of master, model and msdb that were created by using an earlier version of SQL ServerSQL Server cannot be restored by SQL Server 2017SQL Server 2017. 또한 SQL Server 2017SQL Server 2017 백업을 이전 버전의 SQL ServerSQL Server로 복원할 수도 없습니다.Also, SQL Server 2017SQL Server 2017 backups cannot be restored by any earlier version of SQL ServerSQL Server.

중요!IMPORTANT! SQL Server 2016는 이전 버전과는 다른 기본 경로를 사용합니다.SQL Server 2016 uses a different default path than earlier versions. 따라서 이전 버전의 기본 위치에 만든 데이터베이스 백업을 복원하려면 MOVE 옵션을 사용해야 합니다.Therefore, to restore backups of a database created in the default location of earlier versions you must use the MOVE option. 새 기본 경로에 대한 자세한 내용은 File Locations for Default and Named Instances of SQL Server를 참조하십시오.For information about the new default path see File Locations for Default and Named Instances of SQL Server. 데이터베이스 파일을 이동하는 방법은 이 항목의 뒷부분에 나오는 "데이터베이스 파일 이동"을 참조하십시오.For more information about moving database files, see "Moving the Database Files," later in this topic.

백업과 복원을 사용하여 데이터베이스를 복사하는 일반적인 단계General steps for using Backup and Restore to copy a database

백업과 복원을 사용하여 SQL Server의 다른 인스턴스로 데이터베이스를 복사할 때는 SQL Server가 실행되는 모든 플랫폼이 원본 컴퓨터 및 대상 컴퓨터가 될 수 있습니다.When you use backup and restore to copy a database to another instance of SQL Server, the source and destination computers can be any platform on which SQL Server runs.

일반적인 단계는 다음과 같습니다.The general steps are:

  1. SQL Server 2005SQL Server 2005 이상의 인스턴스에 있을 수 있는 원본 데이터베이스를 백업합니다.Back up the source database, which can reside on an instance of SQL Server 2005SQL Server 2005 or later. SQL ServerSQL Server 인스턴스가 실행 중인 컴퓨터가 원본 컴퓨터입니다.The computer on which this instance of SQL ServerSQL Server is running is the source computer.

  2. 데이터베이스를 복사하려는 컴퓨터( 대상 컴퓨터)에서 복원할 데이터베이스가 있는 SQL Server 인스턴스에 연결합니다.On the computer to which you want to copy the database (the destination computer), connect to the instance of SQL Server on which you plan to restore the database. 필요한 경우 대상 서버 인스턴스에 원본 데이터베이스의 백업에 사용된 것과 같은 백업 장치를 만듭니다.If needed, on the destination server instance, create the same backup devices as used to the backup of the source databases.

  3. 대상 컴퓨터에서 원본 데이터베이스의 백업을 복원합니다.Restore the backup of the source database on the destination computer. 데이터베이스를 복원하면 자동으로 모든 데이터베이스 파일이 생성됩니다.Restoring the database automatically creates all of the database files.

이 프로세스에 영향을 줄 수 있는 추가 고려 사항은 다음과 같습니다.Some additional considerations that may affect this process:

데이터베이스 파일을 복원하기 전 고려 사항Before You restore database files

데이터베이스를 복원하면 복원 중인 데이터베이스에 필요한 데이터베이스 파일이 자동으로 생성됩니다.Restoring a database automatically creates the database files needed by the restoring database. 기본적으로 복원 프로세스 중에 SQL Server에서 만든 파일은 원본 컴퓨터에 있는 원본 데이터베이스의 백업 파일과 같은 이름과 경로를 사용합니다.By default, the files created by SQL Server during the restoration process use the same names and paths as the backup files from the original database on the source computer.

원하는 경우 데이터베이스를 복원할 때 장치 매핑, 파일 이름 또는 데이터베이스 복원 경로를 지정할 수 있습니다.Optionally, when restoring the database, you can specify the device mapping, file names, or path for the restoring database.

이 방법은 다음과 같은 경우 유용합니다.This might be necessary in the following situations:

  • 원래 컴퓨터에서 데이터베이스에 사용된 디렉터리 구조나 드라이브 매핑이 다른 컴퓨터에는 존재하지 않는 경우.The directory structure or drive mapping used by the database on the original computer not exist on the other computer. 예를 들어 백업에 포함된 파일이 기본적으로 E 드라이브에 복원되는데 대상 컴퓨터에는 E 드라이브가 없을 수 있습니다.For example, perhaps the backup contains a file that would be restored to drive E by default, but the destination computer lacks a drive E.

  • 대상 위치의 공간이 부족한 경우.The target location might have insufficient space.

  • 복원 대상에 있는 데이터베이스 이름을 다시 사용하며, 데이터베이스의 모든 파일 이름이 백업 집합의 데이터베이스 파일 이름과 동일하게 지정되는 경우에는 다음 중 한 가지 현상이 발생합니다.You are reusing a database name that exists on the restore destination and any of its files is named the same as a database file in the backup set, one of the following occurs:

    • 기존 데이터베이스 파일을 덮어쓸 수 있는 경우 덮어씁니다. 이 경우 다른 데이터베이스 이름이 속하는 파일에는 아무런 영향이 없습니다.If the existing database file can be overwritten, it will be overwritten (this would not affect a file that belongs to a different database name).

    • 기존 파일을 덮어쓸 수 없는 경우 복원 오류가 발생합니다.If the existing file cannot be overwritten, a restore error would occur.

    오류 및 의도하지 않은 결과를 방지하려면 복원 작업 전에 backupfile 기록 테이블을 통해 복원하려는 백업에서 데이터베이스 및 로그 파일을 찾을 수 있습니다.To avoid errors and unpleasant consequences, before the restore operation, you can use the backupfile history table to find out the database and log files in the backup you plan to restore.

데이터베이스 파일 이동Moving the database files

데이터베이스 백업 내의 파일을 대상 컴퓨터에 복원할 수 없으면 복원 도중에 이 파일을 새 위치로 이동해야 합니다.If the files within the database backup cannot be restored onto the destination computer, it is necessary to move the files to a new location while they are being restored. 예를 들어For example:

  • 이전 버전의 기본 위치에 만든 백업에서 데이터베이스를 복원하려는 경우You want to restore a database from backups created in the default location of the earlier version.

  • 용량을 고려해야 하기 때문에 백업의 데이터베이스 파일 일부를 다른 드라이브로 복원해야 할 경우.It may be necessary to restore some of the database files in the backup to a different drive because of capacity considerations. 이는 조직 내에 있는 대부분의 컴퓨터가 디스크 드라이브의 크기 및 번호가 다르고 소프트웨어 구성이 같지 않기 때문에 흔히 있는 일입니다.This is a common occurrence because most computers within an organization do not have the same number and size of disk drives or identical software configurations.

  • 테스트용으로 같은 컴퓨터에 기존 데이터베이스의 복사본을 만들 경우.It may be necessary to create a copy of an existing database on the same computer for testing purposes. 이 경우 원래 데이터베이스에 대한 데이터베이스 파일이 이미 존재하므로 복사 작업 중에 데이터베이스 복사본을 만들 때 파일 이름을 다르게 지정해야 합니다.In this case, the database files for the original database already exist, so different file names must be specified when the database copy is created during the restore operation.

    자세한 내용은 이 항목의 뒷부분에 나오는 "파일과 파일 그룹을 새 위치로 복원"을 참조하십시오.For more information, see "To restore files and filegroups to a new location," later in this topic.

데이터베이스 이름 변경Changing the database name

데이터베이스를 대상 컴퓨터에 복원할 때 데이터베이스를 먼저 복원한 다음 이름을 수동으로 변경하지 않고도 데이터베이스 이름을 변경할 수 있습니다.The name of the database can be changed as it is restored to the destination computer, without having to restore the database first and then change the name manually. 예를 들어 데이터베이스 이름을 Sales 에서 SalesCopy 로 변경하면 이것이 데이터베이스의 복사본임을 나타낼 수 있습니다.For example, it may be necessary to change the database name from Sales to SalesCopy to indicate that this is a copy of a database.

데이터베이스를 복원할 때 명시적으로 제공한 데이터베이스 이름은 자동으로 새 데이터베이스의 이름으로 사용됩니다.The database name explicitly supplied when you restore a database is used automatically as the new database name. 데이터베이스 이름이 기존에 존재하지 않기 때문에 백업에 있는 파일을 사용하여 새 이름을 만듭니다.Because the database name does not already exist, a new one is created by using the files in the backup.

복원을 사용하여 데이터베이스를 업그레이드하는 경우When upgrading a database by using Restore

이전 버전에서 백업을 복원할 때는 백업에 있는 각각의 전체 텍스트 카탈로그의 경로(드라이브 및 디렉터리)가 대상 컴퓨터에 존재하는지 미리 알아 두면 도움이 됩니다.When restoring backups from an earlier version, it is helpful to know in advance whether the path (drive and directory) of each of the full-text catalogs in a backup exists on the destination computer. 카탈로그 파일을 비롯하여 백업에 있는 모든 파일의 논리적 이름, 물리적 이름, 경로 및 파일 이름을 나열하려면 RESTORE FILELISTONLY FROM <backup_device> 문을 사용합니다.To list the logical names and physical names, path and file name) of every file in a backup, including the catalog files, use a RESTORE FILELISTONLY FROM <backup_device> statement. 자세한 내용은 RESTORE FILELISTONLY(Transact-SQL)를 참조하세요.For more information, see RESTORE FILELISTONLY (Transact-SQL).

대상 컴퓨터에 같은 경로가 존재하지 않을 경우 다음 두 가지 대체 방법이 있습니다.If the same path does not exist on the destination computer, you have two alternatives:

  • 대상 컴퓨터에 원본과 동일한 드라이브/디렉터리 매핑을 만듭니다.Create the equivalent drive/directory mapping on the destination computer.

  • RESTORE DATABASE 문 안에 WITH MOVE 절을 사용하여 복원 작업을 하는 중에 카탈로그 파일을 새 위치로 이동합니다.Move the catalog files to a new location during the restore operation, by using the WITH MOVE clause in your RESTORE DATABASE statement. 자세한 내용은 RESTORE(Transact-SQL)를 통해 복원할 수 없습니다.For more information, see RESTORE (Transact-SQL).

    다른 전체 텍스트 인덱스 업그레이드 옵션에 대한 자세한 내용은 전체 텍스트 검색 업그레이드를 참조하세요.For information about alternative options for upgrading full-text indexes, see Upgrade Full-Text Search.

데이터베이스 소유권Database ownership

데이터베이스를 다른 컴퓨터에서 복원할 때 SQL ServerSQL Server 로그인 또는 복원 작업을 시작하는 MicrosoftMicrosoft Windows 사용자가 자동으로 새 데이터베이스 소유자가 됩니다.When a database is restored on another computer, the SQL ServerSQL Server login or MicrosoftMicrosoft Windows user who initiates the restore operation becomes the owner of the new database automatically. 데이터베이스를 복원할 때 시스템 관리자나 새 데이터베이스 소유자는 데이터베이스 소유권을 변경할 수 있습니다.When the database is restored, the system administrator or the new database owner can change database ownership. 데이터베이스가 무단으로 복원되는 것을 방지하려면 미디어 또는 백업 세트에 암호를 사용하십시오.To prevent unauthorized restoration of a database, use media or backup set passwords.

다른 서버 인스턴스로 복원 시 메타데이터 관리Managing metadata when restoring to another server instance

데이터베이스를 다른 서버 인스턴스로 복원하는 경우 사용자와 응용 프로그램에 일관된 환경을 제공하려면 로그인, 작업 등 데이터베이스의 일부 또는 모든 메타데이터를 다른 서버 인스턴스에서 다시 만들어야 할 수도 있습니다.When you restore a database onto another server instance, to provide a consistent experience to users and applications, you might have to re-create some or all of the metadata for the database, such as logins and jobs, on the other server instance. 자세한 내용은 다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server)를 참조하세요.For more information, see Manage Metadata When Making a Database Available on Another Server Instance (SQL Server).

백업 세트의 데이터와 로그 파일 보기View the data and log files in a backup set

참고 항목See also

데이터베이스를 다른 서버로 복사 Copy Databases to Other Servers
File Locations for Default and Named Instances of SQL Server File Locations for Default and Named Instances of SQL Server
RESTORE FILELISTONLY(Transact-SQL) RESTORE FILELISTONLY (Transact-SQL)
RESTORE(Transact-SQL)RESTORE (Transact-SQL)