방법: 새 위치 및 이름으로 데이터베이스 복원(Transact-SQL)
업데이트: 2006년 4월 14일
이 항목에서는 새 위치 및 필요에 따라 새 이름으로 데이터베이스를 복원하는 방법에 대해 설명합니다.
보안 정보: |
---|
알 수 없거나 신뢰할 수 없는 출처의 데이터베이스는 연결 또는 복원하지 않는 것이 좋습니다. 이러한 데이터베이스에 포함된 악성 코드가 의도하지 않은 Transact-SQL 코드를 실행하거나 스키마 또는 물리적 데이터베이스 구조를 수정하여 오류가 발생할 수 있습니다. 알 수 없거나 신뢰할 수 없는 출처의 데이터베이스를 사용하기 전에 프로덕션 서버가 아닌 서버에서 해당 데이터베이스에 대해 DBCC CHECKDB를 실행하고 저장 프로시저 또는 다른 사용자 정의 코드 같은 데이터베이스의 코드도 검사하십시오. |
새 이름으로 데이터베이스를 복원하려면
필요에 따라 RESTORE FILELISTONLY 문을 실행하여 전체 데이터베이스 백업에 포함된 파일의 개수와 이름을 확인합니다.
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_Data
및 AdventureWorks_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 자습서