none
SQL DB 복구 에러 RRS feed

  • 질문

  •  

    Msg 3132, Level 16, State 1, Line 1
    The media set has 2 media families but only 1 are provided. All members must be provided.
    Msg 3013, Level 16, State 1, Line 1
    RESTORE DATABASE is terminating abnormally.

     

    저희회사 직원이 DB는 Sql Server Management Studio에서 Backup을 시켰는데

     Dedtination을 두개로 잡았나 봅니다. (10월30일,11월20일에 백업시행)

    Bak 파일이 하나 모자르다고 나오는데.

    restore filelistonly로 보면 Dat파일은 용량이 있는데, Log 파일은 백업용량이 0으로 나오는군요

     

    외국 사이트에 보면 이럴경우 성공한 사람이 딱 한명 있는데

    구체적으로는 안써놨더군요.

    Run RESTORE FILELISTONLY to see what backups are included in your file. Then use RESTORE DATABASE using the WITH FILE option to restore the specific backup that you want.

     

    여기서 파일옵셥이 뭔지 모르겠네요. 2가 11월20일자 백업본인것 같은데

     

    RESTORE DATABASE [pmdb$primavera] FROM  DISK = N'E:\pmdb$primavera.bak' WITH  FILE =1 , 
    MOVE N'pmdb$primavera_DAT' TO N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\pmdb$primavera.MDF',
    MOVE N'pmdb$primavera_LOG' TO N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\pmdb$primavera_1.LDF', NOUNLOAD,  STATS = 10
    GO

     

    ... 에서 file=1, file=2 다해봐도 안되는군요.

     

     지식이 짧아 더이상 진행이 안되는군요. 조언 부탁드립니다.

     

    2008년 11월 21일 금요일 오전 5:16

모든 응답

  • 안녕하세요.

    김영건입니다.

     

    일단 위 내용을 보면, 백업을 2개의 파일에 나눠서 받으신 듯 합니다.

    일단 결론부터 말씀드리면 복원이 힘드시지 않을까 생각됩니다.

     

    해외 사이트에서 보신 내용은 2개의 백업 파일 중 1개로 데이터베이스를 복원했다는 내용은 아닌 듯 싶습니다.

    아마 전문을 다 보지 못했지만, 아마 동일 백업 파일에 여러번 백업을 받았을 경우에 대해서 설명하는 것 같습니다.

     

    예를 들어, 백업을 받는데 아래와 같이 처음 백업을 받았다라고 가정합니다.

    BACKUP DATABASE Adventureworks TO DISK = 'C:\Backup.bak'

    그리고 나서 아래와 같이 또 백업을 받았다라고 해보죠.

    BACKUP DATABASE Northwind TO DISK = 'C:\Backup.bak'

     

    그러면 백업 기본 옵션이 NOINIT이기 때문에 C:\Backup.bak 파일안에 두개의 백업본이 존재하게 됩니다.

    이때 어떤 백업본으로 복원할지를 지정하는 것이 FILE 옵션입니다.

     

    RESTORE HEADERONLY FROM DISK = 'C:\Backup.bak'

    를 수행하면 백업 파일에 백업본이 몇개 있는지 확인이 가능하며, POSITION 컬럼이 FILE 번호를 뜻합니다.

    그리고 나서 복원을 수행할때

    RESTORE DATABASE Northwind FROM DISK = 'C:\Backup.bak' WITH FILE = 2 로 복원하시면 두번째 백업본으로 복원이 가능하게 됩니다.

    만약 FILE 옵션을 지정 안하면 무조건 첫번째 백업 본으로 복원이 됩니다.

     

    다시 결론으로 돌아가서, 두개의 백업 파일에 나눠서 백업을 받으셨다면 내용이 절반씩 기록이 되었을 것이며, 1개의 백업 파일만으로 데이터를 살리는 것은 불가능합니다.

    감사합니다.

     

    Younggun Kim

    MCDBA, MCITP

    Consultant @ Database Division in SQLRoad

    http://www.sqlroad.com  http://blog.naver.com/gun0626  http://www.sqlserver.co.kr

    E-mail: ygkim@feelanet.com

     

    2008년 11월 28일 금요일 오전 4:06