2009-02-08 3 views
23

자세한 정보 SQL Server는 가용성 향상을 위해 4 가지 기술을 제공합니다.SQL Server에서 미러링, 로그 전달, 복제 및 클러스터링을 사용하는 시나리오는 무엇입니까

나는 요약, 이러한 기본 사용 시나리오 생각 : -

1) 복제가 온라인 오프라인 데이터 동기화 시나리오 (노트북, 모바일 기기, 원격 서버)에 주로 적합하다.

2) 로그 전달은 데이터베이스 미러링 자동 복구 기법

4) 페일 오버 클러스터링 데이터베이스 미러링의 진보 형이다

3) 반면, 수동 전환로 페일 오버 서버를 위해 사용될 수있다.

맞습니까?

감사합니다.

+2

우수 답변. 한 가지 추가하고 싶은 점은 .. 이제 2013 년 전입니다. Ms는 미러링을 사용하지 말 것을 권고합니다. 결국 사라질거야. 또한 미러링은 한 파트너에게만 국한됩니다. –

답변

24

장애 조치 클러스터링은 하드웨어 수준에서 중복성을 제공하고 Windows 클러스터링 기술 위에 구축되는 가용성 기술입니다. 즉, SQL Server에만 국한되지는 않습니다.

예를 들어, 프로세서가 서버 A를 분해합니다. 다행히도 서버 A는 SQL Server 클러스터의 일부이므로 서버 B는 SQL Server 서비스를 제공하는 작업을 몇 초 안에 수행합니다. 이 모든 작업은 자동으로 수행되며 데이터베이스 사용자 및/또는 클러스터가 제공하는 응용 프로그램에 투명합니다.

데이터베이스 미러링과 클러스터링의 주된 차이점은 SQL 클러스터링은 인스턴스 수준에서 중복성을 제공하지만 데이터베이스 미러링은 데이터베이스 수준에서 중복성을 제공한다는 것입니다.

다음 링크는 사용 가능한 두 기술을 비교합니다.

http://msdn.microsoft.com/en-us/library/ms191309(SQL.90).aspx

로그 전달은 중복 기술의 이상으로 간주됩니다.

예를 들어 수동으로 온라인 상태로 만들 수있는 웜 대기 모드로 일반적으로 사용되는 기본 환경의 전체 복사본을 제공하는 데 사용할 수 있습니다. 이 기능을 사용하여 백업 전략에 중복성을 추가로 제공 할 수 있습니다. 로그 전달은 대체 위치/서버에서 프로덕션 데이터베이스의 읽기 전용 복사본을 만들어 주 서버에서보고를 오프로드하는데도 사용할 수 있습니다.

복제는 매우 다양한 기술이며 여러 가지 시나리오를 처리하는 데 사용할 수 있습니다. 선택에 따라 구현되는 복제 유형이 결정됩니다.

예를 들어, 병합 복제를 사용하면 응용 프로그램의 작업 부하를 여러 서버 (분산 처리 아키텍처)에 분산시켜 분산 처리를 지원할 수 있습니다.

병합 복제에는 종종 해당 환경을 상대적으로 인식하는 응용 프로그램이 필요합니다. 전체 통합 환경에서 데이터 일관성을 보장하려면 충돌 해결과 같은 기술을 고려해야합니다.

트랜잭션 복제는 로그 전달과 비슷한 방식으로 사용할 수 있지만 구독자에게 복제되는 특정 개체를 제한 할 수 있습니다. 보고 용도로 테이블의 하위 집합 만 필요한 경우 유용 할 수 있습니다.

나는 이것이 당신을 조금이라도 지워 주길 바란다. SQL Server 온라인 설명서에서 이러한 각 기술에 대한 풍부한 문서를 찾아 보거나 Google의 각 기술을 검색 할 수 있습니다. 특정 검색어가 있으면 기꺼이 도와 드리겠습니다. 저에게 줄을 자유롭게 놓으십시오.

환호, John

2

SQL 2008 Enterprise에는 변경 데이터 캡처 (CDC)라는 것이 있는데, 여기서 나는 일하는 곳에서 성공적으로 사용하고 있습니다.

정보를 얻기가 너무 힘들어 지나치게 정규화 된 데이터베이스가 있습니다. 우리는이 데이터를 보고서 등을 위해 다른 서버에 복제하는 것과 동시에 데이터 구조를 변경해야했습니다.

매우 잘 작동합니다.

+0

저는 최근에 SQL Server 2005 사용자와 이야기를 나누었습니다. SQL Server 2005 사용자는 데이터베이스가 지나치게 표준화되었고 보고서 서버에 데이터를 복제한다고 말했습니다. 데이터베이스가 트랜잭션과보고를 모두 처리해야합니까? 왜 2 대의 서버에 투자하고 복제해야합니까? 오버 헤드라고 생각합니다. – Chakra

+2

@Chakra는 규칙이 아닙니다. 서버가 프로덕션 작업량 및보고에 사용되는 데이터베이스와 함께 잘 수행 할 수없는 경우에만 사용됩니다. –

-2

AFAIK 로그 전달 및 복제가 다른 방법보다 적합 할 것입니다.

로그 전달은 동기화가 예약되어 있으므로 수동으로 전환하는 것이 좋습니다. 백업 서버는 통신 문제가없는 한 최신 상태가 될 수 있기 때문입니다 (단, 로그 전달은 동일하게 유지됩니다 발행물).

오프라인 데이터는 백업 서버만큼 지연에 민감하지 않지만 개인적으로는 로그 전달의 필요성을 전혀 느끼지 못합니다. 언제 더 적합한 지 알 수 없습니다. 복제에 대한 대안 (하지만 sql2005 이전에 복제가 구현되지 않았을 수도 있음)

미러링과 복제가 혼동 스럽거나 미러링이 자동 장애 조치를 제공하지 않는 경우 HA 클러스터 만 제공합니다. 즉,

atleast SQL Server 2005 표준, Windows Enterprise 및 공유 데이터 저장소 (SAN과 같은)를 사용합니다.

+0

틀렸어. 미러링에는 장애 조치가 있지만 미러링 모니터 인스턴스를 사용하는 경우에만 자동으로 수행됩니다. 미러링은 데이터베이스 수준에서 작동하고 원격 SQL 인스턴스에 트랜잭션을 보냅니다. 높은 안전 모드 인 경우 트랜잭션은 원격 측에서 트랜잭션을 실행할 때만 커밋합니다. 트랜잭션 복제와의 차이점은 스키마 변경을 허용하고 전체 데이터베이스 미러이므로 테이블을 추가한다는 것입니다. 복제는 데이터베이스 오브젝트에 바인드되므로 데이터베이스에 새 오브젝트를 작성하면 자동으로 추가되지 않습니다. LogShipping은 동기화 대기 시간이 더 깁니다. –

+0

사실입니다.이 조사가 끝나기 전에 추후 조사를 통해 결론을 내 렸습니다. 그러나 HA 클러스터에는 미러링이 수행하지 않은 두 노드 간의 전체 전환에 이점이 있습니다. 장애 조치가 완료되면 미러링을 "거꾸로"수동으로 다시 설정해야합니다. – jishi

관련 문제