본문 바로가기

개발&컴퓨터/DB

[MSSQL] 백업 세트에 기존 데이터베이스가 아닌 데이터베이스의 백업이 있습니다 (오류해결방법)

반응형

MSSQL의 SQL Server Management Studio를 통해서 데이터베이스 복원 시, 다음과 같은 에러가 발생하는 경우가 있습니다.

 

 

오류 번호는 3154이고, 데이터 복원이 되지 않는 에러입니다.

에러의 원인 메시지를 보면

'백업 세트에 기존 '(복원하려는데이터베이스명)' 데이터베이스가 아닌 데이터베이스의 백업이 있습니다'

라는 내용이 보입니다.

 

해당 문제는 새 데이터베이스를 만든 후, 작업-복원 진행 중에 2가지 선택이 있는데, 이 옵션 중에 '파일 및 파일 그룹'을 선택하여 백업 파일(확장자.bak)을 복원하는 경우에 발생합니다.

 

 

이 문제는 bak 파일을 복원 시, 파일 및 파일 그룹을 선택하여 진행한 경우에 발생합니다.

그 이유는 해당 백업 파일이 백업 시, 백업구성요소로 [데이터베이스] 옵션을 선택하여 백업되었기 때문입니다.

 

복원에도 2가지 옵션이 있듯이, 백업도 2가지 옵션(데이터베이스, 파일 및 파일 그룹)중에 하나를 선택하여 백업을 진행합니다. 백업 옵션에 맞게 복원을 하면 문제가 발생하지 않습니다.

 

참고 : 데이터베이스와 파일 및 파일 그룹 옵션의 차이점은?

 

데이터베이스를 파일 및 파일 그룹보다 좀 더 넓은 개념으로 보면 될 것 같습니다. 기본 하나의 데이터베이스는 하나의 기본 데이터 파일 (확장자 MDF)과 로그 파일(확장자 LDF)로 구성되며, 이는 기본적으로 Primary 라는 파일 그룹으로 생성됩니다. (Primary 그룹은 데이터베이스 파일 그룹을 구성하기 위한 최소한의 구성으로 수정이나 삭제가 불가능합니다.)

 

사실 Primary 파일 그룹 하나만 존재한다면 사실 위의 백업 옵션의 2가지 차이는 크게 존재 하지 않으나, 데이터베이스에는 좀 더 많은 파일 그룹 들을 포함시킬 수 있습니다. 데이터베이스에 Primary 외의 좀 더 많은 파일들을 구성하여 데이터를 물리적으로 분산 기록하는 등의 작업을 수행하여 데이터베이스의 안정성이나 효율성을 높일 수도 있습니다.

 

즉, 하나의 데이터베이스에는 많은 파일 및 파일 그룹 등이 포함될 수 있으며, 데이터베이스 백업 옵션 중에 '파일 및 파일 그룹'을 선택하면 데이터베이스에 속한 특정 파일이나 파일 그룹만 백업을 할 수 있게 됩니다. 즉 데이터베이스 전체를 백업하는 것이 아닌 특정 파일 그룹만 백업을 진행하게 되는 것입니다.

 

데이터베이스의 파일과 파일 그룹은 해당 포스팅의 범위를 벗어나므로 간단히 여기까지 설명하고, 차 후 기회가 되면 별도 포스팅을 하도록 하겠습니다.

 

 

문제 해결은 간단합니다. 첫번째 옵션인 [데이터베이스] 를 선택하여 진행하면 해당 문제가 해결됩니다.

 

 

그리고 새 데이터베이스를 생성한 후에 해당 데이터베이스에 백업 파일을 복원할 때에 위와 같은 절차로 했음에도 불구하고 유사한 메시지의 에러가 발생하는 경우가 있는데, 이 경우에는 데이터베이스 복원 다이얼로그 창에서 [옵션]페이지를 선택한 후, 첫번째 복원 옵션인 '기존 데이터베이스 덮어쓰기'를 선택하고 복원하시면 됩니다.

 

 

데이터 복원 시, 이 이외에도 다양한 오류 메시지를 만나는 경우가 많은데, 해당 포스팅에서는 모두 다루기는 어렵고, 댓글을 달아 주시면 제가 아는 범위내에서 해결 방법을 알려드리겠습니다.^^

 

 

----------------------------------------------------------------------------------------

참고 : 해당 포스팅은 MS-SQL Sserver 2008 R2 버전 기준으로 작성하였습니다.

반응형