Presentation is loading. Please wait.

Presentation is loading. Please wait.

SQL Server Log Shipping

Similar presentations


Presentation on theme: "SQL Server Log Shipping"— Presentation transcript:

1 SQL Server Log Shipping
Jung Suk Han Technical Account Manager Premier Team Microsoft Korea

2 개요 SQL Server 2000 로그 전달 이해 로그 전달 설정 로그 전달의 관리 및 유지

3 로그 전달의 이해 로그 전달은 무엇인가? 로그 전달 구성요소 로그 전달 작동 방법
하드웨어 구성요소 소프트웨어 구성요소 로그 전달 작동 방법 클라이언트와 어플리케이션의 역할 변경을 어떻게 하나?

4 로그 전달은 무엇인가 Secondary Server Primary Server Database Database
Transaction Log 복사

5 로그 전달 구성요소 하드웨어 구성요소 Primary server Secondary server Monitoring server

6 Log Shipping 구성요소 Software 구성요소 Stored procedures Tables 로그 전달 모니터
작업(Job)

7 로그 전달 작동 방법 Log Backup Log Backup Monitoring Server
Secondary Server(s) Primary Server 1. Transaction log backed up Log Backup 3. Transaction log restored 2. Transaction log 복사 Log Backup Logins 전송

8 클라이언트와 어플리케이션 역할 변경을 어떻게 하나 (1 / 3)
클러스터링 서비스와는 다르게, 다른 서버로의 역할 변경을 최종 사용자들이 완전히 모르게 하기는 힘들다. 다른 서버로 변경을 한다면, 클라이언트 와 어플리케이션은 새로운 서버에 접근하는 방법에 대해 생각해야 한다. 서비스 장애를 큰 중단 없이 진행되도록 해야 한다. 트랜잭션 측면에서는, 다음과 같다. Primary에서 마지막 트랜잭션이 완료된다. Primary에서 log 백업을 한다. Primary로 부터 log 백업을 복사한다. 복사된 log를 secondary에 적용된다.

9 클라이언트와 어플리케이션 역할 변경을 어떻게 하나 (2 / 3)
로그 전달을 위한 어플리케이션 고려사항 트랜잭션을 새로 일으키는 작업을 하지 말자. 모든 오브젝트(사용자, 작업, 사용자정의 메세지등)가 데이터베이스 내에서 유일하도록 하여 다른 데이터베이스 또는 어플리케이션과 충돌하지 않도록 한다. 가능한 모든 트랜잭션을 작게 하여 로그 전달을 원활히 하도록 하자. 가능한 서비스팩과 연관이 있는 프로그램 코딩을 하지 말자.

10 클라이언트와 어플리케이션 역할 변경을 어떻게 하나 (3 / 3)
로그 전달을 위한 어플리케이션 고려사항 서버명,인스턴스명,IP주소를 어플리케이션 소스에 포함되지 않도록 한다. 테이블과 저장프로시저에 전체 이름을 사용하자. 가능하다면 코드에서 로직을 재수행 하도록하자. 역할 변경 프로세스동안 트랜잭션을 큐에 넣을 수 있는 미들웨어 도입을 고려하자.

11 로그 전달 구성 문의 사항 Setup 시 고려사항 로그전달의 설치 및 구성 서비스팩과 로그 전달
Hardware SQL Server 로그전달의 설치 및 구성 서비스팩과 로그 전달 SQL Server 7.0 부터 SQL Server 2000의 로그전달 구성 로그전달을 통한 고가용성 고가용성의 예

12 문의사항 비지니스 문의사항 기술적 문의사항 시간당 몇 건의 트랜잭션이 발생하는가? 얼마간의 다운타임 시간이 허용되나?
얼마의 데이터를 잃어도 되나? 프로젝트에 얼마가 할당되어 있나? 기술적 문의사항 네트워크 연결은 어떻게 되어있나? 트랜잭션로그 백업 파일의 사이즈는 얼마인가? 트랜잭션 로그를 복사하는 시간과 복원하는 시간은 얼마나 소요되나? Secondary의 용량은 얼마나 되나? Primary로 다시 복귀할 것인가?

13 하드웨어 고려사항 서버 위치 메모리/프로세서 네트워킹 디스크
Primary/secondary 반드시 같은 도메인에 있어야 한다. 메모리/프로세서 Secondary의 메모리/프로세서는 primary과 반드시 같아야 한다. 네트워킹 대역폭 Network Interface card 디스크 트랜잭션로그 백업 위치 디스크 공간

14 소프트웨어 고려사항 추천 사용자 직접 SQL Server 2000 Enterprise Edition
Operating systems: Windows NT 4.0 Enterprise Edition (Service Pack 5) Windows 2000 Advanced Server Windows 2000 Datacenter Server 사용자 직접 모든 SQL Server 2000 가능

15 SQL Server 고려사항 복원 모델 Security Fulltext
Bulk-Logged Security 윈도우 통합 인증 Primary/secondary는 monitor 서버의 쓰기 이벤트에 접근 가능 Fulltext 여러 곳의 데이터베이스로부터 한대의 secondary로 로그 전달 시 Secondary 용량 어플리케이션 고려 사항

16 로그 전달 구성을 위한 마법사 사용하기(1/3) 데이터베이스 유지관리마법사를 통하여 초기 설정
로그 전달 구성을 위한 마법사 사용하기(1/3) 데이터베이스 유지관리마법사를 통하여 초기 설정 직접 초기 백업,복사와 복구를 하도록 한다. 특히 대용량 데이터베이스 데이터베이스 복구는 with WITH NORECOVERY 또는 WITH STANDBY 옵션으로 Demo log shipping set up…

17 로그 전달 구성을 위한 마법사 사용하기(2/3) 백업 디렉토리를 위한 네트워크 공유명이 백업 파일을 저장하는 디렉토리명과 같도록 한다. 각각의 데이터베이스를 위하여 UNC 아래에 서브디렉토리를 생성한다. 관리와 문제해결을 용이하게 한다. 백업 파일을 얼마나 오래 동안 유지할 것인가? 계획을 가지자. 데이터베이스의 사용자 연결을 종료 트랜잭션 로그를 복구시에 배타적인 데이터베이스 접근이 필요하다. 수작업으로는 다음과 같이 한다. ALTER DATABASE databasename SET SINGLE_USER WITH termination options (then SET MULTI_USER) Demo log shipping set up…

18 로그 전달 구성을 위한 마법사 사용하기(3/3) secondary 가 primary가 될 것인가? 트랜잭션 로그 백업 스케쥴
로그 전달 구성을 위한 마법사 사용하기(3/3) secondary 가 primary가 될 것인가? Primary Role 허용 트랜잭션 로그 백업 스케쥴 가용성을 높이기 위하여 처리가 가능한 낮은 숫자로 세팅한다. Copy/Load frequency 가용성을 높이기 위해 낮은 숫자로 세팅 복사 시에 압축이 되지 않는다는 것을 명심하자. Backup alert threshold Adjust for large files to avoid false errors Demo log shipping set up…

19 구성 후의 작업 Login(계정)의 전송 데이터베이스와 서버 레벨 로그인 필요 DTS 작업을 생성하고 스케쥴링한다. BCP를 통하여 syslogins를 백업하는 스케쥴 필요 역할 변경 저장 프로시저를 실행하도록 primary 와 secondary에 Job을 생성한다. 역할 변경 시 에러가 발생하는 것을 방지

20 사용자 로그 전달 기본단계 별도의 모니터링 방법을 만들자 초기 백업,복사,복원을 수행한다
트랜잭션 백업을 위한 스케쥴을 생성한다 Secondary에 트랜잭션 로그를 push 및 pull을 하도록 작업을 생성한다 트랜잭션로그를 적용하는 작업을 생성한다 로그인 전송을 한다 별도의 모니터링 방법을 만들자

21 로그전달을 통한 고가용성 Primary/Secondary를 활용한 고가용성 계획된 다운타임 운영 데이터베이스서버를 점검시
어플리케이션 업그레이드 서버 이전/업그레이드 운영 데이터베이스서버를 점검시 SQL Server 7.0 에서 SQL Server 2000으로 업그레이드 시

22 관리작업을 위한 최선의 실행 역할 변경 수행 로그전달 모니터링 일반적인 문제점 해결방법

23 역할 변경 수행 역할 변경의 타입 로그전달 역할 변경 역할 변경 고려사항 로그 전달과 복제

24 역할 변경의 타입 계획된 경우 절차: 유지관리를 위한 다운타임 시간 Primary에서 최종 트랜잭션을 확보
Secondary에 복사 Login,모든 트랜잭션이 적용되었는지 점검 Database online 클라이언트 재접속

25 역할 변경의 타입 계획되지 않은 경우 절차: 장애 발생 시 Primary에서 최대 로그 확보
Secondary에 최대한 로그 적용 Database online 클라이언트 재접속

26 클라이언트 재접속 역할 변경 후, 어플리케이션과 클라이언트는 새로운 primary에 접속해야 함 가능한 방법 ODBC DSN
Network Load Balancing SQL Server 이름 변경 (오직 non-clustered)

27 예전의 Primary로 전환 예전 primary가 사용가능 할 때 전환할 것인가?
Secondary가 가용한 용량을 가진 한, 예전 primary로 복귀하지 말자. 왜냐하면 새로운 장애가 일어날 수도 있기 때문이다. 꼭 필요하다면, 운영시간이 아닐 때 전환 제일 먼저 예전 primary를 재초기화해야 한다.

28 로그전달 시 Network Load Balancing 이용
가상 IP 주소 로그 전달을 위한 NLB세팅

29 Network Load Balancing 을 통한 역할 변경
Client NLB Cluster Primary SQL Server Secondary DIP1 DIP2 Log Shipping VIP

30 포트규칙 구성 Primary = 5 Warm standby = 10 Primary = 15 (복구 시)
요청시 한개의 호스트만 서비스

31 로그 전달 모니터링 방법 로그 전달 모니터 Job 데이터베이스 유지 관리 계획 테이블 쿼리 이벤트 뷰어

32 로그전달 모니터 사용

33 알아야 할 사항 시스템 데이터베이스 백업 서비스팩과 로그 전달 로그 전달 모니터 장애 시 복구
마법사를 이용하여 로그 전달 구성 시 파일 전송은 FTP사용 불가 로그 전달 설치는 스크립트화 될 수 없다.

34 일반적인 장애 문제 SQL Server Agent가 실행되어야 로그 전달 가능
Error 3101 – 만일 적용되어야 할 트랜잭션 로그가 있다면 역할 변경 실패 Q 참조 Error 4306 – 데이터베이스 잘못 복구 Error 4305 – 로그의 순서가 잘못됨 Standard Edition에서 Enterprise Edition으로 후 로그 전달 구성요소가 없으면 Q 참조 2nd bullet – Q298743 Elements missing bullet – (Q295306) BUG: Log Shipping Elements are Missing After You Upgrade from Standard to Enterprise Edition Error 3101 Bullet – Q BUG: sp_change_secondary_role Fails with Error 3101 if There Are Outstanding Transaction Log Backups

35 일반적인 장애 문제 DTS 복사 개체 작업은 트랜잭션 백업을 불가능하게 한다.
Secondary에 SQL Server Service Pack 1 적용 시 실패 데이터베이스 명이 다르면 역할 변경을 할 수가 없다. Database in STANDBY 마법사에서 NORECOVERY 옵션 선택 시 STANDBY 데이터베이스로 탑재 Q301049 로그전달 모니터가 업데이트 되지 않는다. Q292586참조 Bullet 1 – Q295936 Bullet 2 – Q308267 Bullet 3 – Q300919 Bullet 4 – Q300497 Bullet 5 – Q301049 Bullet 6 – Q292586

36 High-Availability Feature
로그전달 기술과 특징 High-Availability Feature Log Shipping Standby type Warm Failure detection No, but with NLB … Automatic failover Protects against failed server process Yes, but … Protects against failed disk Metadata support Some system, all user schema and data for select databases Transactionally consistent Yes Transactionally current No, since last transaction-log backup Performance impact File copying on primary Time to failover Seconds, more to recover more thoroughly Locations Dispersed Complexity Some Multiple standby and/or backup nodes 32 with NLB, otherwise no limit Standby available for reporting, etc. Yes. Read-only access when logs are not being loaded Partitioning of data to standby No

37

38 © 2001 Microsoft Corporation. All rights reserved.


Download ppt "SQL Server Log Shipping"

Similar presentations


Ads by Google