본문 바로가기

Program/MSSQL

mssql 데이터베이스 bak를 다른이름으로 복원시 원래 데이터베이가 복원중으로 나올때

Microsoft SQL Server에서 .bak 파일을 다른 이름으로 복원하는 과정에서 기존 데이터베이스가 '복원 중' 상태로 표시되는 경우가 있을 수 있습니다. 이는 복원 과정 중에 발생할 수 있는 일반적인 현상입니다. 여기에는 몇 가지 가능한 원인과 해결책이 있습니다:

  1. 복원 명령어 확인: 복원 명령어가 올바르게 작성되었는지 확인합니다. 다른 이름으로 복원하려면 RESTORE DATABASE 명령어에서 WITH MOVE 옵션을 사용하여 각 파일을 새 위치로 이동시켜야 합니다.
  2. 데이터베이스 이름 지정: 복원하려는 데이터베이스에 새 이름을 지정했는지 확인합니다. 같은 이름을 사용하면 기존 데이터베이스에 영향을 줄 수 있습니다.
  3. 파일 경로 확인: 복원 명령어에서 지정한 파일 경로가 올바른지 확인합니다. 경로가 잘못되었거나 접근 권한이 없는 경우 문제가 발생할 수 있습니다.
  4. 타임아웃 설정: SQL Server 관리 도구에서 타임아웃이 너무 짧게 설정되어 있으면 복원 과정이 중간에 중단될 수 있습니다. 타임아웃 설정을 늘려보세요.
  5. SQL Server 서비스 재시작: 때때로 서버를 재시작하면 문제가 해결될 수 있습니다. 이는 잠긴 리소스를 해제하고 복원 프로세스를 정상화하는 데 도움이 될 수 있습니다.
  6. 복원 로그 확인: SQL Server 로그를 확인하여 복원 프로세스에서 발생한 오류나 경고를 확인합니다. 이는 문제의 원인을 파악하는 데 도움이 될 수 있습니다.
  7. 데이터베이스 상태 확인: sp_who2 및 DBCC OPENTRAN과 같은 명령어를 사용하여 현재 데이터베이스의 상태와 열려 있는 트랜잭션을 확인합니다.
  8. SQL Server 버전 및 호환성: 복원하려는 .bak 파일이 생성된 SQL Server의 버전과 현재 서버의 버전이 호환되는지 확인합니다. 때로는 버전 불일치로 인해 문제가 발생할 수 있습니다.

문제 해결에 어려움을 겪는 경우, SQL Server의 정확한 버전, 사용 중인 복원 명령어, 관련 오류 메시지 등 구체적인 정보를 제공하시면 더 정확한 도움을 드릴 수 있습니다.

 

 

RESTORE DATABASE 데이터베이스명 WITH RECOVERY

 

결론은 위 명령어로 해결했습니다.