단일 팜에서 미러된 데이터베이스 장애 조치 및 복구

업데이트 날짜: 2009년 3월

적용 대상: Office SharePoint Server 2007

 

마지막으로 수정된 항목: 2009-06-22

이 문서에서는 SQL Server 데이터베이스 미러링을 사용하여 단일 팜에서 가용성 구성의 절차에 따라 고가용성 데이터베이스 미러링을 사용하도록 구성된 Microsoft Office SharePoint Server 2007 팜의 장애 조치 및 복구를 수행하는 방법에 대해 설명합니다.

이 문서에는 다음 섹션이 포함됩니다.

  • 미러된 데이터베이스에 대한 자동 장애 조치 프로세스

  • 미러된 데이터베이스에 대한 수동 장애 조치 프로세스

  • 미러링 장애 조치에 대한 모니터 및 알림

  • 작업: 나머지 모든 데이터베이스 장애 조치

  • 작업: 연결 별칭 업데이트

  • 장애 복구

  • 요약

미러된 데이터베이스를 실행하는 Office SharePoint Server 2007 환경에서 장애 조치를 수행할 때 다음 프로세스가 수행되어야 합니다.

  • 주 서버에서 하나 이상의 데이터베이스가 자동 또는 수동으로 미러 서버로 장애 조치됩니다.

  • 주 서버에 있는 다른 모든 데이터베이스에 대해서는 강제로 장애 조치가 수행됩니다.

    Microsoft SQL Server 2005 알림 및 작업을 사용하여 미러링을 모니터하고 모든 데이터베이스에서 장애 조치를 강제 실행하는 것이 좋습니다.

  • 데이터베이스를 참조하는 모든 프런트 엔드 웹 서버 및 컴퓨터에 있는 연결 별칭이 미러 서버를 가리키도록 다시 설정됩니다.

미러된 데이터베이스에 대한 자동 장애 조치 프로세스

자동 장애 조치는 주 서버와 나머지 데이터베이스 미러링 구성의 통신이 끊어지고 미러 서버와 미러링 모니터 서버는 통신이 유지될 때 수행됩니다.

참고

모든 서버 인스턴스의 통신이 끊기는 경우에는 미러링 모니터 서버와 미러 서버의 통신이 나중에 다시 연결되더라도 자동 장애 조치가 수행되지 않습니다.

자동 장애 조치가 트리거될 때 다음 프로세스가 수행됩니다.

  1. 주 서버가 아직 실행 중이면 주 데이터베이스의 상태가 DISCONNECTED로 변경되고 모든 클라이언트와 주 데이터베이스의 연결이 끊깁니다.

  2. 미러링 모니터 서버와 미러 서버에 주 서버가 사용 불가로 등록됩니다.

  3. 다시 실행 큐에서 대기 중인 로그가 있으면 미러 서버가 미러 데이터베이스의 롤포워드를 마칩니다. 로그를 적용하는 데 걸리는 시간은 시스템 속도, 최근 작업 부하 그리고 다시 실행 큐에 있는 로그의 크기에 따라 다릅니다.

  4. 이전 주 서버는 세션에 다시 조인할 때 장애 조치 파트너가 현재 주 역할을 수행하고 있음을 인식합니다. 이전 주 서버가 미러 서버의 역할을 맡고, 이전 주 데이터베이스가 미러 데이터베이스가 됩니다. 새 미러 서버가 최대한 빨리 새 미러 데이터베이스를 주 데이터베이스와 동기화합니다. 새 미러 서버가 데이터베이스를 다시 동기화하는 즉시 다시 이번에는 반대 방향으로의 장애 조치가 가능해집니다.

자동 장애 조치에 대한 자세한 내용은 자동 장애 조치(https://go.microsoft.com/fwlink/?linkid=83690&clcid=0x412)를 참조하십시오.

미러된 데이터베이스에 대한 수동 장애 조치 프로세스

수동 장애 조치는 일반적으로는 주 서버와 미러 서버가 모두 실행 중일 때 수행됩니다. 관리자가 주 데이터베이스에서 미러 데이터베이스로 활성 데이베이스를 전환하도록 결정합니다.

수동 장애 조치 동안에는 다음 프로세스가 수행됩니다.

  1. 관리자가 주 서버에 연결하고 각 데이터베이스에 대해 다음 Transact-SQL 명령을 실행합니다.

    USE master;
    ALTER DATABASE <database_name> SET PARTNER FAILOVER; -- where database_name is the mirrored database. 
    

    이 문은 미러 서버를 주 역할로 즉시 전환합니다.

  2. 이전 주 서버에서는 클라이언트와 데이터베이스의 연결이 끊기고 커밋되지 않은 트랜잭션이 롤백됩니다.

미러링 모니터 서버가 포함된 자동 장애 조치 설정으로 수동 장애 조치를 실행하면 주 서버와 미러 서버의 역할이 자동으로 바뀝니다.

미러링 장애 조치에 대한 모니터 및 알림

SQL Server 알림을 사용하여 미러링을 모니터하고 장애 조치를 강제하는 작업을 실행합니다. 작업 및 알림은 SQL Server의 주 인스턴스와 미러 인스턴스 모두에서 사용되어야 합니다.

알림: 주 데이터베이스에서 미러 데이터베이스로 전환되는 단일 데이터베이스 검색

이 알림 내에서는 해당 미러 데이터베이스로 전환된 데이터베이스가 있는지를 검색하기 위해 Transact-SQL 명령을 사용합니다.

SELECT * FROM Database_MIRRORING_STATE_CHANGE 
WHERE State=8 AND (databasename='Central Administration' OR databasename='Configuration' 
ORdatabasename='SSP' 
OR databasename='SSP Content' 
OR databasename='SSP Search' 
OR databasename='WSS Search' 
OR databasename='Content_<port>' )

작업: 나머지 모든 데이터베이스 장애 조치

이 검색 알림이 나타나면 모든 데이터베이스를 해당 미러 데이터베이스로 장애 조치하는 작업을 실행합니다.

다음 예제는 모든 미러된 데이터베이스를 장애 조치하는 작업 내에서 사용할 수 있는 Transact-SQL 스크립트를 제공합니다.

USE master;
DECLARE i CURSOR
READ_ONLY
FOR 
SELECT name FROM sys.databases WHERE database_id IN
(SELECT database_id FROM sys.database_mirroring WHERE mirroring_state=4)

DECLARE @name varchar(255)
DECLARE @cmd varchar(1000)
OPEN i

FETCH NEXT FROM i INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
set @cmd = 'ALTER Database [' + @name + '] SET PARTNER FAILOVER;'
exec (@cmd)

DECLARE @message varchar(100)
SELECT @message = 'Failover for : ' + @name
PRINT @message
END
FETCH NEXT FROM i INTO @name
END

CLOSE i
DEALLOCATE i
GO

작업: 연결 별칭 업데이트

장애 조치 후에는 Office SharePoint Server 2007을 실행 중인 모든 컴퓨터에서 SQL Server 연결 별칭과 연관된 데이터베이스 서버 이름을 주 서버에서 미러 서버로 변경해야 합니다.

참고

각 웹 응용 프로그램 내의 참조는 변경되지 않습니다. 따라서 장애 조치 후 Office SharePoint Server 2007 내에서 작업이 필요 없습니다.

장애 조치가 완료된 후에 실행할 SQL Server 작업을 만듭니다. 작업 내에서 명령을 실행하여 별칭 값의 레지스트리 설정을 미러로 변경합니다.

\Registry\Machine\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo
<alias> = REG_SZ DBMSSOCN,DBMirror

참고

SQL Server 작업 및 알림을 실행하는 데 사용되는 계정은 Office SharePoint Server 2007을 실행 중인 컴퓨터에서 레지스트리 값을 변경할 수 있는 권한을 가지고 있어야 합니다. 자세한 내용은 레지스트리 키에 사용 권한 지정(https://go.microsoft.com/fwlink/?linkid=116137&clcid=0x412)을 참조하십시오.

이 작업을 만드는 방법에 대한 예제는 데이터베이스 미러링을 사용한 SharePoint 고가용성 사례 연구(백서)를 참조하십시오.

장애 복구

주 서버로 장애 복구하려면 데이터베이스 장애 복구 작업을 수동으로 수행해야 합니다. 같은 SQL Server 작업을 사용하여 SQL Server 클라이언트 연결 별칭의 장애 복구 및 재설정을 자동화할 수 있습니다. 작업에서 값을 변경한 후 작업을 실행할 수 있습니다.

요약

단일 팜 환경에서 미러링을 구성한 후에 장애 조치 및 장애 복구에 대해 프로세스, 알림, 작업 및 스크립트를 테스트하는 것이 좋습니다. 단일 데이터베이스의 장애 조치 시 먼저 주 서버에서 장애 복구 작업을 수행한 후 다른 모든 데이터베이스를 미러 서버로 장애 조치하도록 스크립트를 작성할 수도 있습니다.

이 문서의 다운로드

이 항목은 다운로드 가능한 다음 문서에도 포함되어 있어 더 쉽게 읽고 인쇄할 수 있습니다.