2009-06-02 2 views
3

저는 DBA가 아니기 때문에 어리석은 질문 일 수 있습니다.하지만 어쨌든 물어볼 것입니다. 우리는 2000 년에서 2005 년 사이에 SQL Server를 업그레이드하고 있으며 아마도 데이터베이스 복제 또는 데이터베이스 미러링을 사용할 것입니다. 우리 DBA는 대기 서버를 "다용도로 사용"하고 싶습니다. 대기 서버에서 다른 데이터베이스 응용 프로그램을 실행하여 성능과 용량을 늘리고 싶다는 의미입니다. "어쨌든 그 자리에 앉아있을 것"입니다 (그의 말은 아닌) . 이것은 좋은 생각입니까? 현재 우리의 주요 애플리케이션 서버는 50 개 이상의 데이터베이스를 포함하는 하나의 인스턴스 만 사용합니다. 내가 알기에 현재 우리가하고있는 일과 DBA가 장애 조치 서버용으로 제안하는 것은 나쁜 생각이다. 왜냐하면이 모든 데이터베이스가 메모리, CPU 및 작업 영역을 공유하기 때문이다. 한 응용 프로그램이 잘못 작동하면 다른 DB가 영향을받을 수 있습니다.장애 조치 서버를 다용도로 사용합니까?

의견이 있으십니까?

+1

serverfault.com이이 질문에 더 좋은 장소 일 수도 있습니다 –

+0

DB 응용 프로그램을 말할 때 IIS 또는보고 서비스/SSIS를 의미합니까? – Sam

+0

서버 별 대기 상태 란 무엇입니까? – DForck42

답변

1

정말 대답해야 할 비즈니스 질문입니까? 여분의 하드웨어 비용을 감당할 수없는 경우 느린 응용 프로그램이 더 좋지 않은 응용 프로그램입니까?

보고를 위해 대기 및 미러링 된 db를 사용할 수 있습니다. 페일 오버 데이터베이스로 사용하면 헤드 룸이 충분 해집니다 (예 : 두 데이터베이스가 모두 서버에서 편안하게 실행 됨).

0

이러한 추가 응용 프로그램에 의존 하시겠습니까? 장애 조치 (failover)의 경우 어디에서 실행합니까?

0

장애 모드를 실제로 이해해야합니다.

기본 리소스 계산으로 보았을 때, 실패 시나리오에서 실행중인 리소스가 예상되는 전체 부하를 처리 할 수없는 경우가 종종 있습니다. 때로는 이것이 사실이지만 항상 그런 것은 아닙니다. 이 경우 실제로드를 처리하려면 RAID와 같이 다른 서버가 필요합니다 (로드에 최소 5 개의 서버가 필요하지만 6 개의 팜이있는 경우 서버를 1 대 대기 서버로해야합니다). 1 이상 실패). 때로는 농장의 성능이 저하 될 수 있지만 때로는 단지 토하고 죽을 때가 있습니다.

정상 작동을 벗어난 경우 합법적 인 사건으로 인해 일련의 문제가 발생하는 경우가 종종 있습니다. 백업 테이프가 백업에서 서버를 복원하는 중입니다 (테스트 환경, 실제 "실패"가 아님). 이제 SQL Server 또는 Exhcange 서버 (또는 둘 다)가 백업되지 않고 로그가 가득 찰 수 있습니다.

0

데이터베이스 미러링은 데이터베이스 수준에서만 중복성을 제공하기 때문에 제 의견으로는 여기에 올 수 없습니다. 따라서 제공 한 정보를 기반으로 데이터베이스를 최대 50 개까지 데이터베이스 미러링을 구성해야합니다. 오류가 일반적으로 특정 데이터베이스가 아닌 하드웨어 수준에서 발생하기 때문에 하나의 DB가 모두 실패 할 경우 50 개가 뒤 따를 가능성이 있습니다.

SQL Server 클러스터링 기술을 사용해야하는 것처럼 들립니다. Active/Active 클러스터를 만들어 요구 사항을 지원할 수 있습니다.

액티브/액티브 클러스터 란 무엇입니까?

활성/활성 SQL Server 클러스터는 SQL Server가 양방향 클러스터의 두 노드에서 실행되고 있음을 의미합니다. SQL Server의 각 복사본은 독립적으로 작동하며 사용자는 두 개의 서로 다른 SQL Server를 볼 수 있습니다. 클러스터에있는 SQL Server 중 하나가 실패하면 SQL Server의 실패한 인스턴스가 나머지 서버로 장애 조치됩니다. 즉, 두 SQL Server 인스턴스가 둘 대신 하나의 실제 서버에서 실행됩니다.시나리오

이 적용

그런 다음 SQL 서버, 각 노드에 하나 개의 활성 인스턴스의 두 인스턴스 사이의 데이터베이스를 분할 할 수있다. 하나의 노드가 실패하면 다른 노드는 느슨 함을, 그 반대의 경우도 마찬가지입니다.

더 읽을

An introduction to SQL Server Clustering

I suspect that you will find the following MSDN thread useful reading also

+0

다른 하나가 실패 할 경우 한 서버가로드를 처리 할 수있는 좋은 해결책입니다. 전체 하중을 처리 할 수 ​​없다면 더 나빠질 수 있습니다. –

+0

물론 환경에 따라 다릅니다. 예를 들어, 현재 한 노드 쌍에서 High Throughput OLTP 플랫폼을 지원하고 다른 노드 쌍에서는 Datawarehouse를 지원하는 활성/활성 클러스터를 실행합니다. 이는 프로덕션 서버에서보고/중요하지 않은 작업을 오프로드하고 장애 조치가 발생할 경우 필요한 경우보고를 일시 중단 할 수 있으므로 탁월한 조합입니다. 사전 예방 조치로 SQL Server 인스턴스 리소스를 의도적으로 제한합니다. 이해가 되니? –

0

그것은 트랜잭션을 적용 거기에 앉아됩니다

...

"그냥 어쨌든 거기에 앉아있을 것" John Sansom의 추천을 메모하십시오. 액티브/액티브 클러스터에는 2 개의 SQL Server 라이센스가 필요하며 장애 조치 (failover) 클러스터/미러에는 하나만 필요합니다.

많은 수의 DB에 미러링을 설정하면 큰 어려움이 될 수 있습니다. WMI 장애 조치 이벤트에 대한 경고를 통해 수행 할 수있는 작업/유지 관리가 필요합니다. 생각하기에 더 많은 것들이 복잡해 질 수 있습니다.

관련 문제