본문 바로가기
DB(sql)

MSSQL 데이터베이스 복원하는 방법

by doran365 2024. 8. 1.

데이터베이스 파일 이동

데이터베이스 복원 작업 중 가장 기본적인 단계 중 하나는 데이터베이스 파일을 이동하는 것입니다. 다음은 데이터베이스 파일을 이동하는 예제입니다.

RESTORE DATABASE 데이터베이스이름 FROM 백업장치
  WITH MOVE 'AdventureWorks_data' TO 'D:\Data\PDT.mdf',
          MOVE 'AdventureWorks_log' TO 'D:\Data\PDT.ldf'

이 구문은 백업 파일로부터 데이터베이스를 복원하면서 데이터 파일과 로그 파일의 위치를 새로 지정합니다. 이는 서버의 디스크 구조 변경이나 성능 향상을 위해 자주 사용됩니다.

미러백업 및 복원

미러백업은 백업된 파일이 손상될 경우를 대비해 동일한 백업 복사본을 생성하는 안전 대책입니다. 다음은 미러 백업을 생성하고 이를 복원하는 예제입니다.

미러 백업 생성

 
BACKUP DATABASE AdventureWorks
TO DISK= 'C:\PDT.bak'
MIRROR TO DISK= 'D:\PDT.bak'
WITH FORMAT

위의 구문은 AdventureWorks 데이터베이스를 두 개의 다른 디스크에 백업하여 데이터 손실 위험을 최소화합니다.

미러 백업을 이용한 복구

RESTORE DATABASE AdventureWorks
FROM DISK='D:\PDT.bak'
WITH MOVE 'AdventureWorks_data' TO 'C:\Data\PDT.mdf',
        MOVE  'AdventureWorks_log' TO 'C:\Data\PDT.ldf'

이 구문은 미러 백업을 이용해 데이터베이스를 복원하며, 데이터 파일과 로그 파일의 위치도 변경합니다.

오류 발생 시 계속 복원하기

데이터베이스 복원 중 오류가 발생해도 계속 복원 작업을 진행하려면 WITH CONTINUE_AFTER_ERROR 옵션을 사용합니다.

RESTORE DATABASE AdventureWorks
FROM DISK='D:\PDT.bak'
WITH CONTINUE_AFTER_ERROR

이 옵션은 복원 중에 발생할 수 있는 오류를 무시하고 가능한 부분까지 복원을 시도합니다.

파일 덮어쓰기 복원

복원하려는 파일이 이미 존재하는 경우, 기존 파일을 덮어쓰려면 WITH REPLACE 옵션을 사용합니다.

RESTORE DATABASE AdventureWorks
FROM DISK='D:\PDT.bak'
WITH REPLACE

이 구문은 기존 데이터베이스 파일을 덮어쓰고 새로 복원합니다.

 

데이터베이스 복원 시 주의사항

데이터베이스 복원 작업은 매우 중요한 작업으로, 주의사항을 충분히 이해하고 진행해야 합니다.

복원 전 백업 검증

백업 파일이 손상되었는지 확인하기 위해 복원 전에 백업 파일을 검증하는 것이 좋습니다.

RESTORE VERIFYONLY FROM DISK='D:\PDT.bak'

이 구문은 지정된 백업 파일이 복원 가능한 상태인지 확인합니다.

로그 파일 복원

로그 파일도 백업 및 복원할 수 있습니다. 이는 데이터베이스의 일관성을 유지하는 데 중요합니다.

BACKUP LOG AdventureWorks
TO DISK='D:\PDT_log.bak'

이 구문은 AdventureWorks 데이터베이스의 로그 파일을 백업합니다.

RESTORE LOG AdventureWorks
FROM DISK='D:\PDT_log.bak'
WITH NORECOVERY

이 구문은 로그 파일을 복원하며, 데이터베이스를 복구하지 않고 추가 로그를 더 복원할 수 있도록 합니다.

결론

MSSQL 데이터베이스의 백업 및 복원은 데이터의 안전성과 일관성을 유지하는 데 필수적인 작업입니다. 다양한 옵션과 구문을 활용하여 데이터베이스를 효율적으로 관리하고, 주기적인 백업과 복원 테스트를 통해 데이터 손실 위험을 최소화해야 합니다. 위에서 설명한 복원 구문별 예제를 통해 데이터베이스 복원 작업을 성공적으로 수행할 수 있습니다.