none
SQL Server 2005 백업 파일 2012 복원 후 관련. RRS feed

  • 질문

  • MS SQL205 에서

    백업 파일을 받아 MS SQL 2012
    리스토어 시킬 경우 DB 파일 확장자가 MDF, LDF 로 나타나지 않습니다.<o:p></o:p>

    GJWD_DBF.MDF GJWD_DBF.LDF, KM_GW.mdf KS_GW_1.ldf MS SQL012에서 만든 DB 이고,

    나머지 확장자가 없는 파일은 2005에서 받은 백업 파일을 2012 로 리스토어 한 DB 파일입니다.

    지금까진 복원 후 서비스에는 큰 문제가 없는 것으로 보이는데, 이와 같이 나타나는 이유나 해결책이 없을런지,

    조언 부탁 드립니다.


    kon.jun

    2015년 9월 2일 수요일 오전 3:36

답변

  • 안녕하세요.

    일단 데이터파일이나 로그 파일에 확장자가 없다고 해서 문제가 되지는 않습니다.

    그리고 간단하게 제 환경에서 테스트해보면 복원 후에도 정상적으로 파일 확장자가 존재합니다.

     

    파일 확장자가 없어졌다면, 원본 데이터베이스(SQL 2005)도 파일 확장자가 없었던지, RESTORE 과정에서 파일 이름에 확장자를 지우고 복원했던지 둘 중 하나일 것 같습니다.

     

    먼저 백업 파일의 원본 데이터베이스의 파일 확장자가 있었는지 확인은 아래 스크립트로 가능합니다.

    RESTORE FILELISTONLY FROM DISK = '백업 파일'

    PhysicalName 컬럼에 파일 확장자가 존재하는지 확인해보십시오.

     

    만약 다시 한번 restore 할 일이 있다면, T-SQL문으로 MOVE TO 옵션을 사용해서 파일 이름을 확실히 지정해보시는 것이 어떨까 싶습니다.

    UI에서 진행했다면, 마지막 확인 버튼을 누르기 전에 상단 스크립트 버튼을 눌러서 복원 스크립트를 확인해 보는 것이 좋겠습니다.

     

    기존 파일에 확장자를 다시 추가하려면 다음 방법으로 가능합니다.

    ALTER DATABASE ... MODIFY FILE (name = '', filename = '') 명령문으로 파일 이름에 확장자를 추가한 이름으로 변경합니다.

    ALTER DATABASE ... SET OFFLINE 명령문으로 데이터베이스를 OFFLINE 시킵니다.

    파일 이름에 확장자를 추가합니다.

    ALTER DATABASE ... SET ONLINE 명령문으로 데이터베이스를 ONLINE 시킵니다.

    반드시 테스트 환경에서 테스트 후 적용하실 것을 권고 드립니다.

     

    답변이 도움이 되셨으면 좋겠습니다.

    Younggun Kim

    MCDBA, MCITP
    Consultant @ Database Division in SQLRoad
    http://www.sqlroad.com  http://www.sqlserver.co.kr
    ygkim@sqlroad.com


    2015년 9월 3일 목요일 오후 3:54