제 3회 영남지역 Tour 기획세미나 SQL Server 효율적인 백업&복원 성공전략 이렇게 하자!!

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
아이폰 사용자를 위한 문자메시지 앱 소개 아이폰에 적합한 앱 선택 … 아이폰 메시지 앱은 앱스토어에 많이 올라와 있습니다. 이 중에서 스마트콘에 접합한 아이폰 앱을 위해 여러 가지를 테스트한 결과 간단하고 쓰기 편한 앱을 소개하려고 합니다. 이.
Windows Function Windows XP Windows 7 Windows 8 FREE 조장 : 김동환 조원 : 전태우
컴퓨터와 인터넷.
오라클 백업과 복구.
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
뇌를 자극하는 Windows Server 2012 R2
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
피티라인 파워포인트 템플릿.
Consumer PC & AIO PC DMI Refresh 방법 설명 (UEFI DMI Ver)
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
SAS Foundation Client 9.4 설치 가이드
Windows Server 장. Windows Server 2008 개요.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Linux/UNIX Programming
뇌를 자극하는 Windows Server 2012 R2
목차 백업과 복원.
MS SQL Server - 마이크로소프트 사가 윈도우 운영 체제를 기반으로 개발한 관계 DBMS
Windows Server 장. 사고를 대비한 데이터 백업.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
홍익대학교 메일 시스템 구축 Outlook 설정 매뉴얼.
PLISM 컴포넌트 설치 방법.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
5장 Mysql 데이터베이스 한빛미디어(주).
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Grade Server Team14. Attention Seeker
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
홀인원2.0 설치 메뉴얼.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
USN(Ubiquitous Sensor Network)
워드프로세서 실기 강 사 : 박영민.
ARM Development Suite v1.2
데이터 베이스 DB2 관계형 데이터 모델 권준영.
판매 교육 발표자: [이름].
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
STS 에서 웹 서버 설치 방법.
뇌를 자극하는 Solaris bible.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
아두이노와 충격감지센서, GPS를 활용한 자전거 주행 중 응급 상황 발생 시 자동 신고 시스템
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
12 그리드 시스템.
1. 인터넷 보안 옵션 레지스트리 등록 Config Setup 클릭.
OOA&D 5조_PROJECT 김연호 이은정 조방실 허혜원.
.Net FrameWork for Web2.0 한석수
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
MIS 플2 회계- 마감후이월(2007).
소리가 작으면 이어폰 사용 권장!.
피티라인 파워포인트 템플릿.
DBMS & SQL Server Installation
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Presentation transcript:

제 3회 영남지역 Tour 기획세미나 SQL Server 효율적인 백업&복원 성공전략 이렇게 하자!! MCT/MCDBA/MCSE

차례 규모별 & 중요도별 데이터베이스 백업복원 전략 ( 2:00 ~ 3:00 ) Break time ( 3:00 ~ 3:10 ) 백업및 복원 진행중 문제 상황 발생시 대처방법 (1부) ( 3:10 ~ 4:10 )

차례(계속) Break Time ( 4:10 ~ 4:30 ) 백업및 복원 진행중 문제 상황 발생시 대처방법 (2부) ( 4:30 ~ 5:30 )

규모별 & 중요도별 데이터베이스 백업복원전략 규모별 & 중요도별 데이터베이스 백업복원전략 데이터의 규모와 중요도를 기준으로 간단한 백업 복원 시나리오와 대규모 또한 중요한 데이터의 안전한 백업,복원 및 복구 전략을 소개합니다

세션1 - 차례 백업은 왜? 데이터 손실의 주범은? 백업 전략을 세우는 기준은? 데이터가 손실되게하는 손상 가용성 요구사항 분석외 데이터가 손실되게하는 손상 시나리오1 – 소규모 데이터베이스의 백업 복원 (上,中) 시나리오2 – 대규모 데이터베이스의 백업 복원 (中,下) 백업에 관한 11가지 팁 시스템 데이터베이스 백업복원

백업은 왜? 데이터 손실의 주범은? Q : 백업은 왜 하는가? Q : 데이터 손실의 주범은 누구? 데이터의 손실을 막기 위해 백업을 합니다. Q : 데이터 손실의 주범은 누구? 미숙련 사용자의 실수 적절한 권한만을 사용자에게 할당한다 (security.sql ) 책임자가 즉각적인 대응조치를 할 수 있도록 해둔다 ( LogExplorer 시연 ) 재해 백업은 여러곳에 보관합니다 도난 보관시 암호를 걸어둡니다. ( pwdbackup.sql )

백업 전략을 세우는 기준은? 1. 자금 2. 데이터의 중요도 수준 3. 허가된 다운타임 - TCO(Total Cost Ownership) 기준에 맞춘다

가용성 요구사항 분석 가용성 요구 사항이 무엇입니까? ( 하루 중 언제 데이터베이스를 온라인시켜야 합니까? ) 업무에 시스템 작동 중지 시간의 재정 비용은 얼마나 됩니까? 미디어 오류를 경험한다면 허용할 수 있는 시스템 작동 중지시간은? 재해의 경우 허용할 수 있는 시스템 작동 중지 시간은 얼마나 됩니까? 중요도는 어느 정도입니까? 손실된 데이터를 다시 만드는 것이 얼마나 간단합니까? 조직에 시스템 및 데이터베이스 관리자가 있습니까?

데이터가 손실되게하는 리소스에러들 하드웨어 손상 운영체제 손상 SQL서버 인스턴스 손상 데이터베이스 손상

시나리오 – 소규모DB의 백업 복원 데이터베이스 관리자는 크기 100MB정도의 데이터베이스를 관리하고 있으며 이 데이터베이스는 장차 200MB정도까지 커질 것으로 예상됩니다 일반적으로 업무 시간인 오전 8:00 에서 오후 10:00까지 주로 사용됩니다. 데이터베이스 관리자는 어떤 불특정 사용자의 실수에서 데이터 보호 필요성을 실감했습니다 그러나 회사의 넉넉하지 못한 예산때문에 장비는 기존 하드디스크 하나만을 가지고 있는 상황입니다.

시나리오 – 백업 복원(上) 정기적으로 전체백업만을 수행하는 방식 Demo : fullbackup.sql Data Log

상황 – 전체백업만을 행하는 경우(上) 상황은 다음과 같다. 데이터베이스는 기본형으로 아무런 조치를 따로 취하지 않아 단일 MDF,LDF로 이뤄저 있다 1.월요일 새벽 2시 전체 백업 2.화요일 새벽 2시 전체 백업 3.수요일 새벽 2시 전체 백업 4.목요일 새벽 2시 전체 백업 5.금요일 오후 4시 시스템 중단

경고 – 전체백업만을 수행하는 경우 전체백업을 수행하면 데이터와 로그는 완전히 다 백업이 되기는 한다. 그러나 로그가 무제한으로 증가하여 실제 데이터베이스 크기가 커지지 않더라도 매일 점차로 백업해야 되는 양은 늘어난다. 로그가 무제한으로 증가한다 위험상황발생시 로그백업 시간이 오래걸린다 마찬가지로 복구하는 시간 또한 역시 시간이 소요된다

결론 – 전체백업만을 수행하는 경우 시스템이 중단되기 전에 정기적으로 로그를 삭제해줘야 한다. (예 : backup log 데이터베이스명 with no_log ) 또한 시스템이 중단되면 그 순간의 활성 로그를 백업해야 한다 (예 : backup log 데이터베이스명 to 백업위치 with no_truncate ) 활성 로그를 백업후 가장최근의 전체백업과 로그를 차례로 복구해야만 합니다

시나리오- 대규모 DB의 백업 복원 데이터베이스 관리자는 현재 크기 10GB정도의 데이터베이스를 관리하고 있으며 이 데이터베이스는 장차 20GB정도까지 커질 것으로 예상되고 빠르게 더 증가할 것으로 보입니다 관련 지침은 다음과 같습니다 (추가사항) 로그가 아주 많이 생성됩니다. 시간당 1기다일 경우도 있습니다.

시나리오 – 백업복원(中) 전체백업과 로그백업을 병행하여 수행하는 경우 데이터를 특정 위치까지 복원할 필요가 항상있습니다 fullandlog.sql Data Log Data Log Log Log Log Log Log Log

상황 – 전체,로그백업을 병행하는 경우 상황은 다음과 같다. 데이터베이스는 기본형으로 아무런 조치를 따로 취하지 않아 단일 MDF,LDF로 이뤄저 있는 경우를 산정합니다 1.월요일 새벽 2시 전체 백업 2.화요일 새벽 2시 로그 백업 3.수요일 새벽 2시 로그 백업 4.목요일 새벽 2시 로그 백업 5.금요일 오후 4시 시스템 중단

결론 – 전체,로그백업을 병행하는 경우 시스템이 중단되면 그 순간의 활성 로그를 백업해야 한다 (예 : backup log 데이터베이스명 to 백업위치 with no_truncate ) 활성 로그를 백업후 가장최근의 전체백업이후 로그를 차례로 복구해야만 한다 (차례로 복구하지 않을 경우 에러가 납니다)

시나리오 – 백업복원(下)  아주대규모로 변경사항도 많을경우 전체백업 증분백업 로그백업을 병행한다 fulldifferlog.sql Data Log  Log Log Log Log Log Log

상황 – 전체,증분,로그 백업을 할 경우 상황은 다음과 같다. 데이터베이스는 기본형으로 아무런 조치를 따로 취하지 않아 단일 MDF,LDF로 이뤄저 있다 또한 데이터 베이스 변경량은 엄청난데 반해 데이터베이스자체의 크기 변화량은 미미하다 1.월요일 새벽 2시 전체 백업 2.화요일 새벽 2시 로그 백업 3.수요일 새벽 2시 증분 백업 4.목요일 새벽 2시 로그 백업 5.금요일 오후 4시 시스템 중단

결론 – 전체,증분,로그 백업을 할 경우 시스템이 중단되면 그 순간의 활성 로그를 백업해야 한다 활성 로그를 백업후 가장최근의 전체백업 (전체백업과 증분백업사이의 로그는 복원 필요가 없다) ,증분백업, 그후의 로그들을 차례로 복원하면 된다

백업에 관한 11가지 팁(SQL매거진) 01. 기본 SQL서버 백업 소프트웨어를 사용해라. 02. 서드파티 제품을 사용하기 앞서 테스트 해라. 03. 백업계획을 수립해라. 04. 적절한 데이터베이스 복구모델을 선택해라. 05. 파일그룹 백업의 사용도 고려해라. 06. 적절한 경우 차등 백업을 고려해라. 07. 증분과 로그백업을 혼합해서 사용해라. 08. 부하테스트를 한 후 증분백업을 사용해라. 09. 파일로 먼저 백업한 후 테이프 백업을 고려해라. 10. 테이프로 직접백업한다면 다중백업장치를 고려해라. 11. 백업프로시저와 복구프로시저를 테스트해라.

시스템데이터베이스 distribution(서버를 복제배포자로 구성할 경우 내부생성) 시스템 데이터베이스 사용자 데이터베이스 master model tempdb msdb distribution pubs Northwind User1 사용자 데이터베이스

시스템 데이터베이스 master 데이터베이스는 SQL Server 시스템의 모든 시스템 수준 정보를 기록합니다. 이 데이터베이스는 모든 로그인 계정과 모든 시스템 구성 설정을 기록한다. master는 데이터베이스 파일의 위치를 포함하여 다른 모든 데이터베이스의 존재를 기록하는 데이터베이스이다. msdb 데이터베이스는 경고 및 작업을 예약하고 운영자를 기록하기 위해 SQL Server 에이전트에서 사용한다. model 데이터베이스는 시스템에서 만든 모든 데이터베이스에 대해 템플릿이다. tempdb는 모든 임시 테이블과 임시 저장 프로시저가 있다.또한 임시저장소 요구사항을 충족시켜준다

Break time ( 03:00 ~ 03:10 )

백업및복원 진행중 문제발생 시 대처법(上) 평상시 나타날 수 있는 일반적인 응급상황과 그 대처방법을 시나리오 형식으로 직접 구현한 후 해결할 것입니다. 상황별로 그 이유와 처리방법을 정확히 파악하여 당황하지 않도록 합시다

내용 데이터를 복구했을때 [로드하는 중] 으로 나올때 어떻게 처리하는가? 백업중에 에러가 발생할 경우 해결 방안은 ? 데이터 사용중에 [주의 대상]으로 나오는 경우 해결 방안은 ?

시나리오 – [로드하는중]으로 나온다 Q : 데이터베이스가 [로드하는 중]으로 나올경우는 어느 떄인가? - [로드하는중]으로 나왔다는 것은 데이터베이스 복원 프로세스가 완료되지 않았다는 것을 말합니다. 추가로 남아있는 로그를 복원후 옵션에서 with recovery를 사용하면 됩니다 추가내용이 있을경우의 대처방법 추가내용이 없을경우의 대처방법 with_Recovery.sql

상황 – DB가 [로드하는중]으로 나온다

결론 - DB가 [로드하는중]으로 나온다 [로드하는중]은 다시말해 복구하다가 그만둔 아직 복구될것이 남았다는 뜻으로 이해하면 됩니다. 따라서 나머지 추가 로그등을 복구하던가. 지금상태에서 복구를 완료해서 데이터가 사용할 수 있게 해줘야 합니다.

시나리오 – 백업중에 에러가 날 경우 실제 데이터에 이상이 있을 수가 있다 DBCC 명령어들로 체크한다 과거 데이터 백업본으로 부터 복원을 시도해야한다 과거 데이터 백업본이 없는경우 Export를 사용 최대한 복구해야한다 backupError.sql

상황&결론- 백업중에 에러가 날 경우 백업중에 에러가난다. 이럴 경우 상황을 파악하기 위해 백업디바이스를 생성한 후에 다시한번 백업 시도를 해보면 쉽게 파악할 수 있다 (예) DBCC checkdb 정상 메세지가 아닌 일관성 오류가 난 테이블이 있는경우 이전 백업본으로 복원하던가 Export로 남은데이터를 최대한 살려야한다. 또는 LogExplorer로 보면서 복구할 수도 있습니다

시나리오 – 데이터베이스가 [주의대상] Q : 데이터베이스가 [주의대상]으로 나오는 경우는 어떠한 경우이며 그 경우 어떤 처리를 해야하는가? A : 데이터베이스 파일 (.MDF)가 손상을 입은 경우이다 로그만 백업하여 최종정보를 저장한후 복구 프로세스를 진행해야한다 Suspected.sql

결론 – 데이터베이스가 [주의대상] 시스템이 중단되면 그 순간의 활성 로그를 백업해야 합니다 활성 로그를 백업후 가장최근의 전체백업 (전체백업과 증분백업사이의 로그는 복원 필요가 없다) ,증분백업, 그후의 로그들을 차례로 복원하면 됩니다.

Break Time ( 04:10 ~ 04:30 )

백업및복원 진행중 문제발생 시 대처법(下) 앞의 과정에 이어진 내용입니다

시나리오 - 시스템 데이터베이스 위치? 특정 상황 발생시 시스템 데이터 베이스 또는 사용자 데이터 베이스의 위치를 바꾸는 경우가 왕왕 생길 수 있다. 그 경우 어떤 방법으로 해야만 하는가? movedb.sql Systemdb_backuprestore.sql

데모 user 데이터베이스의 이름 변경,이동 master 데이터베이스의 이동 model 데이터베이스의 이동 tempdb 데이터베이스의 이동 (팁) DB를 복구해달라는 요청이 들어오면 일단 다른이름으로 복구하고 정상이라면 이름을 원래데로 바꾸는 형식을 취하고있다

시나리오 – 시스템간 데이터베이스 복사 A시스템에서 B시스템으로 데이터베이스를 그대로 복사하고 싶습니다 가장 편리한 방법은? DTS등을 이용한 방법도 있습니다.

데모 SQL서버를 중단시킨후 물리적으로 파일들을 복사하여 대상서버로 그대로 복사하는 방법이 그것이다. DTS를 이용한 방법이 무난한 방법이지만 여기서는 편법을 소개하도록 한다. 데이터베이스 복사 마스터를 사용하는 법이 있습니다. 백업 복원을 사용할 수 있습니다.

시나리오 – 로그의 비정상적 크기 처리 로그가 비정상적으로 쌓여있는 데이터베이스를 볼수 있다(전체백업만 하는경우) 그럴때 로그 사이즈를 축소&조정하는 방법은? 또 여의치 않은 경우의 대처방법은? notcontroled.sql

데모 정상적인 방법 - DBCC shrinkfile 을 사용하여 로그사이즈 줄이기 시도 - 단독사용자 모드 설정후 위의 작업 재시도 - 로그사이즈를 더 크게 한 후 다시 시도

데모 앞서의 방법으로 여의치 않은경우 - 로그를 초기화 한다. 1.전체백업을 받는다 2.sp_detach_db를 사용 DB와 서버를 분리한다 3.로그파일의 이름을 변경한다 4.sp_atatch_single_file_db 5.sp_attachdb구문을 사용 하여 복원한다

감사합니다