이 항목에서는 SQL Server 2014에서 Transact-SQL 또는 PowerShell을 사용하여 AlwaysOn 가용성 그룹에 대한 유연한 장애 조치(failover) 정책을 구성하는 방법에 대해 설명합니다. 유연한 장애 조치(failover) 정책은 가용성 그룹에 대한 자동 장애 조치(failover)를 유발하는 조건을 세부적으로 제어합니다. 자동 장애 조치(failover)를 트리거하는 오류 조건과 상태 검사 빈도를 변경하면 고가용성을 위해 SLA를 지원하기 위해 자동 장애 조치(failover)의 가능성을 늘리거나 줄일 수 있습니다.
> [!NOTE]
> The flexible failover policy of an availability group cannot be configured by using [!INCLUDE[ssManStudioFull](../../../includes/ssmanstudiofull-md.md)].
시작하기 전에
자동 장애 조치에 대한 제한 사항
자동 장애 조치(failover)가 발생하려면 현재 주 복제본과 하나의 보조 복제본이 자동 장애 조치(failover)를 사용하여 동기-커밋 가용성 모드로 구성되어야 하며 보조 복제본은 주 복제본과 동기화되어야 합니다.
가용성 그룹이 WSFC 실패 임계값을 초과하는 경우 WSFC 클러스터는 가용성 그룹에 대한 자동 장애 조치를 시도하지 않습니다. 또한 클러스터 관리자가 실패한 리소스 그룹을 온라인으로 수동으로 가져오거나 데이터베이스 관리자가 가용성 그룹의 수동 장애 조치(failover)를 수행할 때까지 가용성 그룹의 WSFC 리소스 그룹은 실패한 상태로 유지됩니다. WSFC 오류 임계값은 지정된 기간 동안 가용성 그룹에 대해 지원되는 최대 오류 수로 정의됩니다. 기본 기간은 6시간이며, 이 기간 동안의 최대 오류 수에 대한 기본값은 n-1이며 여기서 n 은 WSFC 노드의 수입니다. 지정된 가용성 그룹에 대한 실패 임계값을 변경하려면 WSFC 장애 조치(failover) 관리자 콘솔을 사용합니다.
필수 조건
- 기본 복제본을 호스팅하는 서버 인스턴스에 연결되어 있어야 합니다.
안전
권한
| 과업 | 권한 |
|---|---|
| 새 가용성 그룹에 대한 유연한 장애 조치(failover) 정책을 구성하려면 | sysadmin 고정 서버 역할의 멤버 자격과 CREATE AVAILABILITY GROUP 서버 권한, ALTER ANY AVAILABILITY GROUP 권한, CONTROL SERVER 권한 중 하나가 필요합니다. |
| 기존 가용성 그룹의 정책을 수정하려면 | 가용성 그룹에 대한 ALTER AVAILABILITY GROUP 권한, CONTROL AVAILABILITY GROUP 권한, ALTER ANY AVAILABILITY GROUP 권한 또는 CONTROL SERVER 권한이 필요합니다. |
Transact-SQL 사용
유연한 장애 조치(failover) 정책을 구성하려면
기본 복제본을 호스팅하는 서버 인스턴스에 연결합니다.
새 가용성 그룹의 경우 CREATE AVAILABILITY GROUPTransact-SQL 문을 사용합니다. 기존 가용성 그룹을 수정하는 경우 ALTER AVAILABILITY GROUPTransact-SQL 문을 사용합니다.
장애 조치 조건 수준을 설정하려면 FAILURE_CONDITION_LEVEL = n 옵션을 사용합니다. 여기서 n 은 1에서 5까지의 정수입니다.
예를 들어 다음 Transact-SQL 문은 기존 가용성 그룹의
AG1오류 조건 수준을 수준 1로 변경합니다.ALTER AVAILABILITY GROUP AG1 SET (FAILURE_CONDITION_LEVEL = 1);이러한 정수 값과 실패 조건 수준의 관계는 다음과 같습니다.
Transact-SQL 값 레벨 자동 장애 조치(failover)가 시작되는 경우... 1 1 서버 다운 시. 장애 조치(failover) 또는 다시 시작으로 인해 SQL Server 서비스가 중지됩니다. 2 둘 서버가 응답하지 않습니다. 값이 낮은 조건이 충족되거나, SQL Server 서비스가 클러스터에 연결되고 상태 검사 제한 시간 임계값이 초과되거나, 현재 주 복제본이 실패 상태입니다. 3 3 중요한 서버 오류입니다. 값이 낮은 조건이 충족되거나 내부 중요 서버 오류가 발생합니다.
이 값은 기본 수준입니다.4 4 중간 정도의 서버 오류 발생 시에 값이 낮은 조건이 충족되거나 보통 서버 오류가 발생합니다. 5 5 특정한 오류 조건에서. 값이 낮은 조건이 충족되거나 한정된 실패 조건이 발생합니다. 장애 조치(failover) 조건 수준에 대한 자세한 내용은 가용성 그룹의 자동 장애 조치(Failover)에 대한 유연한 장애 조치(Failover) 정책(SQL Server)을 참조하세요.
상태 검사 제한 시간 임계값을 구성하려면 HEALTH_CHECK_TIMEOUT = n 옵션을 사용합니다. 여기서 n 은 15000밀리초(15초)에서 4294967295 밀리초까지의 정수입니다. 기본값은 30000밀리초(30초)입니다.
예를 들어 다음 Transact-SQL 문은 기존 가용성 그룹의
AG1상태 검사 제한 시간 임계값을 60,000밀리초(1분)로 변경합니다.ALTER AVAILABILITY GROUP AG1 SET (HEALTH_CHECK_TIMEOUT = 60000);
PowerShell 사용
유연한 장애 조치(failover) 정책을 구성하려면**
기본값(
cd)을 주 복제본을 호스트하는 서버 인스턴스로 설정합니다.가용성 그룹에 가용성 복제본을 추가할 때 cmdlet을
New-SqlAvailabilityGroup사용합니다. 기존 가용성 복제본을 수정할 때 cmdlet을Set-SqlAvailabilityGroup사용합니다.장애 조치 조건 수준을 설정하려면 수준 매개 변수를
FailureConditionLevel사용합니다. 여기서 수준은 다음 값 중 하나입니다.가치 레벨 장애 조치가 자동으로 실행되는 경우... OnServerDown1 서버 다운 시. 장애 조치(failover) 또는 다시 시작으로 인해 SQL Server 서비스가 중지됩니다. OnServerUnresponsive둘 서버가 응답하지 않습니다. 값이 낮은 조건이 충족되거나, SQL Server 서비스가 클러스터에 연결되고 상태 검사 제한 시간 임계값이 초과되거나, 현재 주 복제본이 실패 상태입니다. OnCriticalServerError3 중요한 서버 오류입니다. 값이 낮은 조건이 충족되거나 내부 중요 서버 오류가 발생합니다.
이 값은 기본 수준입니다.OnModerateServerError4 중간 정도의 서버 오류 발생 시에 값이 낮은 조건이 충족되거나 보통 서버 오류가 발생합니다. OnAnyQualifiedFailureConditions5 특정한 오류 조건에서. 값이 낮은 조건이 충족되거나 한정된 실패 조건이 발생합니다. 장애 조치(failover) 조건 수준에 대한 자세한 내용은 가용성 그룹의 자동 장애 조치(Failover)에 대한 유연한 장애 조치(Failover) 정책(SQL Server)을 참조하세요.
예를 들어 다음 명령은 기존 가용성 그룹의
AG1오류 조건 수준을 수준 1로 변경합니다.Set-SqlAvailabilityGroup ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg ` -FailureConditionLevel OnServerDown상태 검사 제한 시간 임계값을 설정하려면 n 매개 변수를 사용합니다
HealthCheckTimeout. 여기서 n은 15000밀리초(15초)에서 4294967295 밀리초까지의 정수입니다. 기본값은 30000밀리초(30초)입니다.예를 들어 다음 명령은 기존 가용성 그룹의
AG1상태 검사 제한 시간 임계값을 120,000밀리초(2분)로 변경합니다.Set-SqlAvailabilityGroup ` -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAG ` -HealthCheckTimeout 120000
비고
cmdlet의 구문을 보려면 SQL Server PowerShell 환경에서 Get-Help cmdlet을 사용하십시오. 자세한 내용은 SQL Server PowerShell 도움말을 참조하세요.
SQL Server PowerShell 공급자를 설정하고 사용하려면
또한 참조하십시오
AlwaysOn 가용성 그룹 개요(SQL Server)
가용성 모드(AlwaysOn 가용성 그룹)
장애 조치 및 장애 조치 모드 (AlwaysOn 가용성 그룹)
Windows Server 장애 조치 클러스터링(WSFC)과 SQL Server
장애 조치 클러스터 인스턴스에 대한 정책
sp_server_diagnostics(Transact-SQL)