백업 및 복원을 사용하여 데이터베이스 복사

적용 대상:SQL Server

SQL Server에서 SQL Server 2005(9.x) 이상 버전을 사용하여 만든 사용자 데이터베이스의 백업을 복원하여 새 데이터베이스를 만들 수 있습니다. 그러나 이전 버전의 SQL Server를 사용하여 만든 마스터, 모델 및 msdb의 백업은 SQL Server에서 복원할 수 없습니다. 또한 이전 버전의 SQL Server에서는 SQL Server 백업을 복원할 수 없습니다.

Important

SQL Server 2016는 이전 버전과는 다른 기본 경로를 사용합니다. 따라서 이전 버전의 기본 위치에서 만든 데이터베이스의 백업을 복원하려면 MOVE 옵션을 사용해야 합니다. 새 기본 경로에 대한 자세한 내용은 SQL Server의 기본 인스턴스 및 명명된 인스턴스에 대한 파일 위치를 참조 하세요. 데이터베이스 파일을 이동하는 방법은 이 항목의 뒷부분에 나오는 "데이터베이스 파일 이동"을 참조하십시오.

백업 및 복원을 사용하여 데이터베이스를 복사하는 일반적인 단계

백업 및 복원을 사용하여 데이터베이스를 SQL Server의 다른 인스턴스로 복사하는 경우 원본 및 대상 컴퓨터는 SQL Server가 실행되는 모든 플랫폼일 수 있습니다.

일반적인 단계는 다음과 같습니다.

  1. SQL Server 2005(9.x) 이상 인스턴스에 상주할 수 있는 원본 데이터베이스를 백업합니다. 이 SQL Server 인스턴스가 실행 중인 컴퓨터는 원본 컴퓨터입니다.

  2. 데이터베이스( 대상 컴퓨터)를 복사하려는 컴퓨터에서 데이터베이스를 복원하려는 SQL Server 인스턴스에 연결합니다. 필요한 경우 대상 서버 인스턴스에서 원본 데이터베이스의 백업에 사용되는 것과 동일한 백업 디바이스를 만듭니다.

  3. 대상 컴퓨터에서 원본 데이터베이스의 백업을 복원합니다. 데이터베이스를 복원하면 자동으로 모든 데이터베이스 파일이 생성됩니다.

이 프로세스에 영향을 줄 수 있는 몇 가지 추가 고려 사항:

데이터베이스 파일을 복원하기 전에

데이터베이스를 복원하면 복원하는 데이터베이스에 필요한 데이터베이스 파일이 자동으로 만들어집니다. 기본적으로 복원 프로세스 중에 SQL Server에서 만든 파일은 원본 컴퓨터에 있는 원본 데이터베이스의 백업 파일과 같은 이름과 경로를 사용합니다.

필요에 따라 데이터베이스를 복원할 때 복원 데이터베이스에 대한 디바이스 매핑, 파일 이름 또는 경로를 지정할 수 있습니다.

다음과 같은 상황에서 필요할 수 있습니다.

  • 원래 컴퓨터의 데이터베이스에서 사용하는 디렉터리 구조 또는 드라이브 매핑이 다른 컴퓨터에 존재하지 않습니다. 예를 들어 백업에는 기본적으로 E 드라이브로 복원되는 파일이 포함되어 있지만 대상 컴퓨터에는 드라이브 E가 없습니다.

  • 대상 위치의 공간이 부족한 경우.

  • 복원 대상에 있는 데이터베이스 이름을 다시 사용하고 해당 파일의 이름은 백업 집합의 데이터베이스 파일과 동일하게 지정되며 다음 중 하나가 발생합니다.

    • 기존 데이터베이스 파일을 덮어쓸 수 있는 경우 덮어씁니다(다른 데이터베이스 이름에 속하는 파일에는 영향을 미치지 않음).

    • 기존 파일을 덮어쓸 수 없는 경우 복원 오류가 발생합니다.

오류 및 의도하지 않은 결과를 방지하려면 복원 작업 전에 backupfile 기록 테이블을 통해 복원하려는 백업에서 데이터베이스 및 로그 파일을 찾을 수 있습니다.

데이터베이스 파일 이동

데이터베이스 백업 내의 파일을 대상 컴퓨터로 복원할 수 없는 경우 파일을 복원하는 동안 새 위치로 이동해야 합니다. 예:

  • 이전 버전의 기본 위치에 만든 백업에서 데이터베이스를 복원하려는 경우

  • 용량 고려 사항 때문에 백업의 일부 데이터베이스 파일을 다른 드라이브로 복원해야 할 수 있습니다. 이는 조직 내에 있는 대부분의 컴퓨터가 디스크 드라이브의 크기 및 번호가 다르고 소프트웨어 구성이 같지 않기 때문에 흔히 있는 일입니다.

  • 테스트 목적으로 동일한 컴퓨터에 기존 데이터베이스의 복사본을 만들어야 할 수 있습니다. 이 경우 원래 데이터베이스의 데이터베이스 파일이 이미 있으므로 복원 작업 중에 데이터베이스 복사본을 만들 때 다른 파일 이름을 지정해야 합니다.

자세한 내용은 이 항목의 뒷부분에 나오는 "파일과 파일 그룹을 새 위치로 복원"을 참조하십시오.

데이터베이스 이름 변경

데이터베이스를 대상 컴퓨터에 복원할 때 데이터베이스를 먼저 복원한 다음 이름을 수동으로 변경하지 않고도 데이터베이스 이름을 변경할 수 있습니다. 예를 들어 데이터베이스 이름을 Sales에서 SalesCopy변경하여 데이터베이스의 복사본임을 나타내야 할 수 있습니다.

데이터베이스를 복원할 때 명시적으로 제공된 데이터베이스 이름은 자동으로 새 데이터베이스 이름으로 사용됩니다. 데이터베이스 이름이 기존에 존재하지 않기 때문에 백업에 있는 파일을 사용하여 새 이름을 만듭니다.

복원을 사용하여 데이터베이스를 업그레이드하는 경우

이전 버전에서 백업을 복원할 때 백업에 있는 각 전체 텍스트 카탈로그의 경로(드라이브 및 디렉터리)가 대상 컴퓨터에 있는지 미리 아는 것이 좋습니다. 카탈로그 파일을 포함하여 백업에 있는 모든 파일의 논리적 이름 및 물리적 이름, 경로 및 파일 이름)을 나열하려면 RESTORE FILELISTONLY FROM <backup_device> 문을 사용합니다. 자세한 내용은 RESTORE FILELISTONLY(Transact-SQL)를 참조하세요.

대상 컴퓨터에 동일한 경로가 없는 경우 두 가지 대안이 있습니다.

  • 대상 컴퓨터에 해당하는 드라이브/디렉터리 매핑을 만듭니다.

  • RESTORE DATABASE 문 안에 WITH MOVE 절을 사용하여 복원 작업을 하는 중에 카탈로그 파일을 새 위치로 이동합니다. 자세한 내용은 RESTORE(Transact-SQL)를 참조하세요.

전체 텍스트 인덱스를 업그레이드하는 대체 옵션에 대한 자세한 내용은 전체 텍스트 검색 업그레이드를 참조하세요.

데이터베이스 소유권

데이터베이스가 다른 컴퓨터에서 복원되면 복원 작업을 시작하는 SQL Server 로그인 또는 Microsoft Windows 사용자가 자동으로 새 데이터베이스의 소유자가 됩니다. 데이터베이스가 복원되면 시스템 관리자 또는 새 데이터베이스 소유자가 데이터베이스 소유권을 변경할 수 있습니다. 데이터베이스가 무단으로 복원되는 것을 방지하려면 미디어 또는 백업 세트에 암호를 사용하십시오.

다른 서버 인스턴스로 복원할 때 메타데이터 관리

데이터베이스를 다른 서버 인스턴스로 복원하면 사용자 및 애플리케이션에 일관된 환경을 제공하기 위해 다른 서버 인스턴스에서 로그인 및 작업과 같은 데이터베이스에 대한 메타데이터의 일부 또는 전부를 다시 만들어야 할 수 있습니다. 자세한 내용은 다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리(SQL Server)를 참조하세요.

백업 세트의 데이터 및 로그 파일 보기

새 위치로 파일 및 파일 그룹 복원

기존 파일에서 파일 및 파일 그룹 복원

새 이름으로 데이터베이스 복원

중단된 복원 작업 다시 시작

데이터베이스 소유자 변경

SMO(SQL Server 관리 개체)를 사용하여 데이터베이스 복사

참고 항목

데이터베이스를 다른 서버로 복사
SQL Server 기본 인스턴스 및 명명된 인스턴스의 파일 위치
RESTORE FILELISTONLY(Transact-SQL)
RESTORE(Transact-SQL)