none
SQL BackUp 관련 질문? RRS feed

  • 질문

  • 1. SQL BackUp 된 .bak 파일에 재 백업을 하면 용량이 처음 백업된 데이터 만큼 두배로 늘어나는데 이 현상이 올바른 것 인가요?

    2. 두배로 늘어난.bak 파일로 복원을 하였을 경우 올바로 복원이 되어지는지요?

    3. 같은 이름으로 붙여 넣기가 방지 될 수 있도록 하는 옵션이 있는지요?

    2018년 1월 2일 화요일 오전 6:51

답변

  • 안녕하세요.

    SQL Server 백업은 백업파일 한개에 여러개의 백업본을 저장할 수 있습니다.

    한개의 백업 파일 내부에 백업이 여러개가 들어있을 수 있는거죠.

    따라서 같은 이름의 백업파일(.bak)에 백업을 두번 받았다면, 백업 파일이 두배가 되는 것이 맞습니다.

     

    다음 명령을 실행하면, 백업파일에 몇개의 백업본이 들어있는지 확인하실 수 있습니다.

    restore headeronly from disk = '백업파일'  


     

    두번째 질문의 답변으로는, 여러개의 백업본을 가지고 있는 백업파일을 복원하면 첫번째 백업 파일이 복원됩니다.

    예를 들어서 월요일에 전체백업, 화요일에 전체백업을 수행한 백업 파일을 옵션 없이 복원하면 월요일 전체 백업이 복원됩니다.

    위에서 설명한 restore headeronly 명령을 통해서 백업본을 확인한 후, 복원하려는 백업본의 Position 값을 확인합니다.

    이후 restore 명령을 작성하고 뒤에 "with file = 번호" 옵션을 붙여 주시면 됩니다.

    번호에는 restore headeronly 에서 확인한 position 값을 넣어주면 됩니다.

    만약 position 값이 3인 백업본을 복원하려면 다음과 같이 해주면 됩니다.

    restore database db이름 from disk = '백업파일' with file = 3 

     

    세번째 질문에 대한 답변으로는, 방지라고 하기는 그렇고 백업 시 덮어쓰기 옵션이 있습니다.

    backup ... with init 옵션을 사용하면 됩니다.

     

    답변이 늦었지만 도움이 되셨으면 좋겠습니다.

    감사합니다.

    2018년 1월 26일 금요일 오전 8:02