본문 바로가기

프로그래밍/MSSQL

MSSQL 백업 - UNC 를 이용한 네트워크 스토리지

1. 개요

  MSSQL을 이용하여 사용중인 데이터베이스를 파일로 백업할 경우에 물리적인 로컬 하드디스크에만 백업할 수 있는 것으로 알고 있는데 그 이유는 대부분이 다른 서버의 공유 디스크를 네트워크 드라이브로 잡아서 로컬 디스크 처럼 사용하려고 했기 때문이다. 

  네트워크에 있는 서버의 디스크를 네트워크 드라이브로 잡아서 MSSQL을 해당 드라이브로 백업하고자 하면 백업이 실패 한다. 동일한 개념이지만 네트워크 드라이브로 잡지 않고 UNC 방식 (예: \\netserver\backup,   \\192.168.0.1\backup)을 사용하면 MSSQL도 실행중에 풀백업 및 차등 백업을 수행할 수 있다.


  보다 안정적인 방법으로 디스크가 허용 된다면 로컬 디스크로 백업을 한 후에 스케쥴링을 지원하는 적당한 파일 복사 프로그램을 이용하여 네트워크 드라이브로 복사하는 방법이 있다.


네트웍에서, UNC[유엔씨]는 컴퓨터 내의 공유 파일이 저장되어 있는 장치를 명시하지 않고서도, 그 파일을 확인하기 위한 방법이다. 윈도우 운영체계, 노벨 네트웨어, 그리고 어쩌면 많은 다른 운영체계들에서도, 자체적인 명명 시스템 대신 UNC가 사용될 수 있다.

윈도우 운영체계에서, UNC 명명 형식은 다음과 같다.

\\servername\sharename\path\filename

2. URN 방식을 이용한 MSSQL DB 백업


가. 전제조건

   UNC로 ACCESS하고자 하는 서버의 네트워크 경로에 접근 권한이 MSSQL서버 시작계정 권한이 해당 네트워크 드라이브 경로에 접근 권한이 있어야 합니다(해당 네트워크 서버에 계정/비번이 같아야 함을 의미 합니다)


나. 백업 방법


        BACKUP DATABASE DBName To disk = "\\servername\sharename\backupfile.bak"


        예제 ) BACKUP DATABASE testDB to disk = "\\192.168.10.110\백업\testDB.bak"


다. 외부 백업을 이용하는 경우

1. 풀백업을 자주 받아야 하는 경우 
2. DB용량이 큰경우 
3. 랜카드 대여폭이 기가빗 이상인경우(100M/bps여도 상관은 없지만 시간이 조금 오래걸린다) 
4. 장기보존이 필요없는 경우(덮어쓰기 백업으로 백업서버 용량을 절약할수 있다) 
5. PC로 공유서버 백업을 운영한다면 적은비용에 백업정책을 운영 할 수 있다. 


라. 에이전트를 이용한 백업 스케줄링

   상기 백업을 주기적으로 수행 하기 위하여 MSSQL Agent 서비스에 작업을 등록하여 처리


3. 로컬 백업후 파일 복사 프로그램을 이용하는 방법


가. 처리방법

   로컬 하드디스크의 용량이 허락 한다면 네트워크 드라이브로 직접 백업하지 않고 로컬에 백업을 한 이후에 전용 복사 프로그램을 이용하여 백업된 완전한 파일을 네트워크 드라이브로 백업하는 방법


나. 장점

   네트워크 드라이브로 직접 백업하는 방식보다는 어느정도 안정성이 확보된 방법으로 볼 수 있음


다. 단점

  3rd 스케쥴링이 가능한 복사 프로그램을 이용해야 함.


라. 추천 복사 프로그램

   ROBOCOPY download : http://www.microsoft.com/en-us/download/details.aspx?id=17657



    사용법 추천(간단) : http://joogunking.tistory.com/m/post/view/id/341

    사용법 추천 : http://technet.microsoft.com/en-us/library/cc733145(v=ws.10).aspx