/********************************************************************************************
-- Title : [2k] SQL Server의 백업/복원 최적화 팁
-- Reference : 여느 잡지
-- Key word : 백업 복원 backup restore
********************************************************************************************/

* 로컬하드디스크에 먼저 백업한 후 그 파일을 테잎장치로 옮긴다. 
  여러분이 백업을 수행할 때 몇몇 SQL 명령어는 작동하지 않는다. 예로 백업을 수행하고있는 동안
  에는 Add File이나 Remove File과 함께 Alter Database를 사용할 수 없고 데이터베이스를 축소시
  킬수도 없다. 또한 Create Index문등 여러가지 명령어는 사용 불가능하다.
 
  따라서 백업 수행시간을 줄이기 위해서 로컬 하드디스크에 먼저 백업을 한 후 이를 테잎장치로
  옮기는 것이 좋다. 테잎 장치는 일반적으로 하드디스크보다 굉장히 느리기 때문이다. 가능한한
  백업 수행시간을 줄여서 그 여파를 줄이는 것이 좋다.
 
* 여러 백업 디바이스에 백업을 수행한다.
  SQL Server는 각각의 백업 디바이스에 대해서 개별의 백업 스레드를 할당하기 때문에 백업을
  병렬로 처리할 수 있다.
* 여러 물리적 디스크로 배열이된 곳에 백업을 수행한다.
  역시 각각 개별 디스크의 개별 백업 디바이스에 스레드가 할당된다.
* 데이터베이스 사용이 적을때 백업을 수행한다.
  백업작업은 확보된 리소스가 많을수록 좋은 성능을 내기 때문에 CPU 사용이 적은 시간대에 작동
  하도록 스케쥴 작업으로 만드는 것이 좋다.
* 복원시간의 축소가 중요할 경우 전체 백업을 사용한다.
  전체 백업은 차등 백업이나 트랜잭션 로그 백업에 비해 시간이 더 오래걸리나 복원시는 가장 빠
  르다.
* 백업시간의 축소가 중요할 경우 트랜잭션 로그 백업을 사용한다.
  트랜잭션 로그 백업은 전체 백업이나 차등 백업에 비해 백업속도는 빠르나 복원시 가장 오래 걸
  린다.
* 사용자가 정기적으로 동일한 데이터를 업데이트한다면 로그 백업 대신 차등 백업을 사용한다.
  차등 백업은 마지막 데이터베이스 백업 이후의 변경된 데이터 페이지만 백업하기에 트랜잭션 로
  그 백업으로부터 트랜잭션 로그를 복원할시 처음 로그부터 롤포워드되는 시간을 절약할 수 있다.
* 데이터베이스가 개별 파일이나 파일그룹에 나누어져 있다면 파일/파일그룹 백업을 고려한다.
  각 개별 파일/파일그룹 백업의 경우 백업작업을 빨리 끝낼수 있기 때문에 백업 때문에 서버에
  주는 영향을 줄일 수 있다.
* 성능모니터를 사용하여 백업에 전체 시스템에 미치는 영향을 측정한다.
 다음과 같은 측정치를 확인한다.
 1. SQL Server Backup Device: Device Throughput Bytes/sec
    - 특정 백업 디바이스의 작업량을 나타낸다.
 2. SQL Server Databases: Backup/Restore Throughput/sec
    - 전체 데이터베이스의 백업, 복원 작업량을 나타낸다.
 3. Physical Disk: %Disk Time
    - 읽기쓰기 작업에 의해 디스크가 얼마나 작동하는지 퍼센티지로 알려준다.
 4. Physical Disk Object: Avg.Disk Queue Length
    - 디스크 액세스를 위해서 평균적으로 시스템이 얼마나 요청하는지 알려준다.
* 백업작업에 소요되는 시간을 줄이기 위해서 자주 백업하는 것을 고려해본다.
  자주 백업을 할수록 그 크기는 작기 때문에 서버에 적은 영향을 미친다. 또 다른 이점으로는 데
  이터베이스에 장애가 일어났을시 손실될 수 있는 데이터의 양도 작아진다.
* 테잎 장치는 다른 디스크나 CD롬 드라이브와 다른 SCSI버스에 위치시킨다.
  테잎 장치의 SCSI버스를 독립적으로 두면 다른 드라이브와의 액세스 충돌을 피할 수 있기 때문
  에 최상의 백업 성능을 낼 수 있다.
  마이크로소프트에서는 개별 SCSI버스에 테잎 장치를 위치시킬 경우 전송율이 원래 SCSI버스 속도
  의 50% 이상을 낸다고 한다.
* 매우 큰 데이터베이스의 경우 SQL Server 2000 스냅샷 백업을 사용한다.
  SQL Server 2000 스냅샷 백업과 복원 기술은 서드파티 하드웨어 또는 소프트웨어 공급업체를 필
  요로 한다. 스냅샷 백업/복원의 가장 큰 장점은 매우 짧은 시간안에 이를 수행할 수 있기 때문에
  (일반적으로 초단위로 수행된다.) 서버에 주는 영향을 극소화시킬 수 있다.
  스냅샷 백업은 미러된 디스크를 짤라내던가 디스크의 블럭을 복사하는 방식으로 이루어지며 특정
  한 하드웨어와 소프트웨어를 필요로 한다.

신고

+ Recent posts