다음을 통해 공유


방법: 새 위치 및 이름으로 데이터베이스 복원(Transact-SQL)

업데이트: 2006년 4월 14일

이 항목에서는 새 위치 및 필요에 따라 새 이름으로 데이터베이스를 복원하는 방법에 대해 설명합니다.

ms190447.security(ko-kr,SQL.90).gif보안 정보:
알 수 없거나 신뢰할 수 없는 출처의 데이터베이스는 연결 또는 복원하지 않는 것이 좋습니다. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다. 알 수 없거나 신뢰할 수 없는 출처의 데이터베이스를 사용하기 전에 프로덕션 서버가 아닌 서버에서 해당 데이터베이스에 대해 DBCC CHECKDB를 실행하고 저장 프로시저 또는 다른 사용자 정의 코드 같은 데이터베이스의 코드도 검사하십시오.

새 이름으로 데이터베이스를 복원하려면

  1. 필요에 따라 RESTORE FILELISTONLY 문을 실행하여 전체 데이터베이스 백업에 포함된 파일의 개수와 이름을 확인합니다.

  2. RESTORE DATABASE 문을 실행하여 전체 데이터베이스 백업을 복원합니다. 이때 다음을 지정합니다.

    • 데이터베이스의 새 이름

      [!참고] 데이터베이스를 다른 서버 인스턴스로 복원하는 경우 새 이름 대신 원래 이름을 사용할 수 있습니다.

    • 복원할 전체 데이터베이스 백업이 있는 백업 장치

    • 파일 백업을 복원한 후 적용할 트랜잭션 로그 백업이 있는 경우 NORECOVERY 절. 그렇지 않은 경우 RECOVERY 절.
      트랜잭션 로그 백업을 적용할 경우 트랙잭션 로그 백업이 파일을 백업한 시점을 포함해야 합니다.

    • 파일 이름이 존재할 경우 각각의 파일을 새 위치에 복원하기 위한 MOVE 절. 예를 들어 테스트 목적으로 동일한 서버에 기존 데이터베이스의 복사본을 만들어야 할 수 있습니다. 이 경우 원래 데이터베이스의 데이터베이스 파일이 이미 존재하므로 복원 작업 중 데이터베이스 복사본을 만들 때 반드시 다른 파일 이름을 지정해야 합니다.
      MOVE 절의 구문은 다음과 같습니다.
      MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
      [ ,...n ] [ , ]
      여기서 logical_file_name_in_backup은 백업 세트의 데이터 또는 로그 파일 이름이고 operating_system_file_name은 파일을 복원해야 하는 위치입니다. n은 추가 MOVE 문을 지정할 수 있음을 나타내는 자리 표시자입니다. 백업 세트에서 새 위치로 복원할 모든 논리적 파일에 대해 MOVE 문을 지정합니다.

      [!참고] 백업 세트에서 논리적 파일 목록을 가져오려면 RESTORE FILELISTONLY를 사용하십시오.

이 예에서는 MyAdvWorks라는 새 데이터베이스를 만듭니다. MyAdvWorks는 기존 AdventureWorks 데이터베이스의 복사본으로 AdventureWorks_DataAdventureWorks_Log 파일을 포함합니다. AdventureWorks 데이터베이스가 이미 있으므로 백업에 들어 있는 파일을 복원 작업 중에 이동해야 합니다. RESTORE FILELISTONLY 문은 복원 중인 데이터베이스에 있는 파일의 개수와 이름을 알아내는 데 사용합니다.

[!참고] AdventureWorks 데이터베이스의 전체 데이터베이스 백업을 만드는 방법에 대한 예는 방법: 전체 데이터베이스 백업 만들기(Transact-SQL)를 참조하십시오.

[!참고] 지정 시간 복원을 비롯하여 트랜잭션 로그를 백업 및 복원하는 예에서는 다음 MyAdvWorks 예와 마찬가지로 AdventureWorks에서 만든 MyAdvWorks_FullRM 데이터베이스를 사용합니다. 그러나 결과로 생성된 MyAdvWorks_FullRM 데이터베이스에서 전체 복구 모델을 사용하도록 변경해야 합니다. ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL.

USE master
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks_Backup is the name of the backup device.
RESTORE FILELISTONLY
   FROM AdventureWorks_Backup
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
   FROM AdventureWorks_Backup
   WITH RECOVERY,
   MOVE 'AdventureWorks_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf', 
   MOVE 'AdventureWorks_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf'
GO

참고 항목

개념

다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리
백업 및 복원에 대한 보안 고려 사항
백업 및 복원으로 데이터베이스 복사

관련 자료

RESTORE(Transact-SQL)
SQL Server Management Studio 자습서

도움말 및 정보

SQL Server 2005 지원 받기