Always On 가용성 그룹 기능을 사용하거나 사용하지 않도록 설정

적용 대상:SQL Server

먼저 Always On 가용성 그룹 을 사용하도록 설정해야만 서버 인스턴스에서 가용성 그룹을 사용할 수 있습니다. 가용성 그룹을 만들고 구성하려면 먼저 하나 이상의 가용성 그룹에 대한 가용성 복제본을 호스팅할 Always On 가용성 그룹 의 각 인스턴스에서 SQL Server 기능을 사용하도록 설정해야 합니다.

Important

WSFC를 삭제하고 다시 만들고자 하는 경우 원본 WSFC에서 가용성 복제본을 호스팅한 SQL Server의 각 인스턴스에서 Always On 가용성 그룹 기능을 사용하지 않도록 설정한 후 다시 사용하도록 설정해야 합니다.

필수 조건

  • SQL Server 2017 및 Windows Server 2016 이전에는 인스턴스가 WSFC(Windows Server 장애 조치(failover) 클러스터) 노드에 상주하여 Always On 가용성 그룹 기능을 사용 설정해야 했습니다. SQL Server 2017 및 Windows Server 2016부터 읽기-스케일링 가용성 그룹을 지원하려면 SQL Server 인스턴스가 Windows Server 장애 조치(failover) 클러스터에 상주하지 않더라도 가용성 그룹 기능을 사용 설정할 수 있습니다.

  • 서버 인스턴스는 Always On 가용성 그룹을 지원하는 SQL Server 버전을 실행해야 합니다. 자세한 내용은 SQL Server 2016 버전에서 지원하는 기능을 참조해 주세요.

  • 한 번에 한 서버 인스턴스에서만 Always On 가용성 그룹을 사용하도록 설정합니다. Always On 가용성 그룹을 사용하도록 설정한 후에는 SQL Server 서비스가 다시 시작될 때까지 기다렸다가 다음 서버 인스턴스로 진행하도록 설정합니다.

가용성 그룹을 만들고 구성하기 위한 추가 필수 조건에 대한 자세한 내용은 Always On 가용성 그룹 필수 구성 요소, 제한 사항 및 권장 사항(SQL Server)을 참조하세요.

사용 권한

SQL Server의 한 인스턴스에서 Always On 가용성 그룹을 사용할 수 있는 동안에는 서버 인스턴스가 WSFC 클러스터에 대한 모든 권한을 가집니다.

로컬 컴퓨터 관리자 그룹의 멤버 자격과 WSFC 클러스터에 대한 모든 권한이 필요합니다. Powershell을 사용하여 Always On을 사용하도록 설정하는 경우 관리자 권한으로 실행 옵션을 사용하여 명령 프롬프트 창을 엽니다.

Active Directory 개체 만들기 및 개체 관리 권한이 필요합니다.

기능이 사용 설정되었는지 확인

SQL Server Management Studio 사용

Always On 가용성 그룹을 사용할 수 있는지 여부를 확인하려면

  1. 개체 탐색기에서 서버 인스턴스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  2. 서버 속성 대화 상자에서 일반 페이지를 클릭합니다. HADR 사용 속성이 다음 값 중 하나로 표시됩니다.

    • True, Always On 가용성 그룹을 사용할 수 있는 경우

    • False, Always On 가용성 그룹을 사용할 수 없는 경우.

Transact-SQL 사용

Always On 가용성 그룹을 사용할 수 있는지 여부를 확인하려면

  1. 다음 SERVERPROPERTY 문을 사용합니다.

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    IsHadrEnabled 서버 속성의 설정은 SQL Server 인스턴스에서 Always On 가용성 그룹을 사용할 수 있는지 여부를 다음과 같이 나타냅니다:

    • IsHadrEnabled = 1인 경우 Always On 가용성 그룹을 사용할 수 있습니다.

    • IsHadrEnabled = 0인 경우 Always On 가용성 그룹을 사용할 수 없습니다.

    참고 항목

    IsHadrEnabled 서버 속성에 대한 자세한 내용은 SERVERPROPERTY(Transact-SQL)를 참조하세요.

PowerShell 사용

Always On 가용성 그룹이 사용할 수 있는지 확인하려면

  1. Always On 가용성 그룹이 사용할 수 있는지 여부를 확인하려는 서버 인스턴스에 대해 기본값(cd)을 설정합니다.

  2. 다음 Get-Item 명령을 입력합니다:

    PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled  
    

    참고 항목

    cmdlet의 구문을 보려면 PowerShell 환경에서 Get-Help SQL Server cmdlet을 사용합니다. 자세한 내용은 Get Help SQL Server PowerShell을 참조하세요.

SQL Server PowerShell 공급자를 설정하고 사용하려면

기능 사용

Always On을 사용하도록 설정하려면:

SQL Server 구성 관리자 사용

Always On 가용성 그룹을 사용하도록 설정하려면

  1. Always On 가용성 그룹을 사용하도록 설정할 SQL Server 인스턴스를 호스트하는 WSFC(Windows Server 장애 조치(failover) 클러스터) 노드에 연결합니다.

  2. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server, 구성 도구를 차례로 가리킨 다음 SQL Server 구성 관리자를 클릭합니다.

  3. SQL Server 구성 관리자에서 SQL Server 서비스를 클릭하고 SQL Server(<instance name>)를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 여기서 <instance name>은 Always On 가용성 그룹을 사용하도록 설정할 로컬 서버 인스턴스의 이름입니다.

  4. Always On 고가용성 탭을 선택합니다.

  5. Windows 장애 조치(failover) 클스터 이름 필드에 로컬 장애 조치(failover) 클러스터의 이름이 포함되어 있는지 확인합니다. 이 필드가 비어 있으면 이 서버 인스턴스는 현재 Always On 가용성 그룹을 지원하지 않는 것입니다. 로컬 컴퓨터가 클러스터 노드가 아니거나 WSFC 클러스터가 종료되었디먄 이 SQL Server 버전이 Always On 가용성 그룹을 지원하지 않습니다.

  6. Always On 가용성 그룹 사용 확인란을 선택하고 확인을 선택합니다.

    SQL Server 구성 관리자가 변경 내용을 저장합니다. 그런 다음 SQL Server 서비스를 수동으로 다시 시작해야 합니다. 이렇게 하면 비즈니스 요구 사항에 가장 적합한 다시 시작 시간을 선택할 수 있습니다. SQL Server 서비스를 다시 시작하면 Always On을 사용할 수 있으며 IsHadrEnabled 서버 속성이 1로 설정됩니다.

SQL Server PowerShell 사용

Always On을 사용하려면

  1. Always On 가용성 그룹을 사용하도록 설정할 서버 인스턴스로 디렉터리를 변경 (cd) 합니다.

  2. Enable-SqlAlwaysOn cmdlet을 사용하여 AlwaysOn 가용성 그룹을 사용하도록 설정합니다.

    cmdlet의 구문을 보려면 PowerShell 환경에서 Get-Help SQL Server cmdlet을 사용합니다. 자세한 내용은 Get Help SQL Server PowerShell을 참조하세요.

    참고 항목

    Enable-SqlAlwaysOn cmdlet이 SQL Server 서비스를 다시 시작하는지? 여부를 제어하는 방법에 대한 자세한 정보는 이 항목 뒷부분의 Cmdlet이 SQL Server 서비스를 다시 시작하는 경우를 참조해 주세요.

SQL Server PowerShell 공급자를 설정하고 사용하려면

예: Enable-SqlAlways On

다음 PowerShell 명령을 사용하면 SQL Server (Computer\Instance)의 인스턴스에 대한 Always On 가용성 그룹을 사용할 수 있습니다.

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

기능 사용 중지

Important

한 번에 하나의 서버에서만 AlwaysOn을 사용하지 않도록 설정해야 합니다. Always On 가용성 그룹을 사용하지 않도록 설정한 후에는 SQL Server 서비스가 다시 시작될 때까지 기다렸다가 다음 서버 인스턴스로 진행하도록 설정합니다.

권장 사항

서버 인스턴스에서 Always On을 해제하기 전 다음을 수행하는 것이 좋습니다.

  1. 서버 인스턴스가 사용자가 보관하려는 가용성 그룹의 주 복제본을 호스팅 중인 경우 가능한 한 가용성 그룹을 동기화된 보조 복제본으로 수동으로 장애 조치(failover)하는 것이 좋습니다. 자세한 내용은 가용성 그룹의 계획된 수동 장애 조치(failover) 수행(SQL Server)을 참조하세요.

  2. 모든 로컬 보조 복제본을 제거합니다. 자세한 내용은 가용성 그룹에서 보조 복제본 제거(SQL Server)를 참조하세요.

SQL Server 구성 관리자 사용

Always On을 사용하지 않도록 설정하려면

  1. Always On 가용성 그룹을 사용하지 않도록 설정할 인스턴스를 호스트하는 WSFC(Windows Server 장애 조치(failover) 클러스터) 노드에 연결합니다.

  2. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server, 구성 도구를 차례로 가리킨 다음 SQL Server 구성 관리자를 클릭합니다.

  3. SQL Server 구성 관리자에서 SQL Server 서비스를 클릭하고 SQL Server(<instance name>)를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 여기서 <instance name>은 Always On 가용성 그룹을 사용하지 않도록 설정할 로컬 서버 인스턴스의 이름입니다.

  4. AlwaysOn 고가용성탭에서 AlwaysOn 가용성 그룹 사용 확인란의 선택을 취소하고 확인을 클릭합니다.

    SQL Server 구성 관리자가 변경 내용을 저장하고 SQL Server 서비스를 다시 시작합니다. SQL Server 서비스를 시작하면 Always On을 사용할 수 없고 IsHadrEnabled 서버 속성이 0으로 설정되어 Always On 가용성 그룹을 사용할 수 없음을 나타냅니다.

  5. 이 항목의 뒷부분에 나오는 후속 작업: Always On을 사용하지 않도록 설정한 후의 정보를 읽어보는 것이 좋습니다.

SQL Server PowerShell 사용

Always On을 사용하지 않도록 설정하려면

  1. Always On 가용성 그룹을 사용하지 않도록 설정할 서버 인스턴스(현재 사용하도록 설정되어 있음)로 디렉터리를 변경(cd)합니다.

  2. Disable-SqlAlwaysOn cmdlet을 사용하여 AlwaysOn 가용성 그룹을 사용하도록 설정합니다.

    예를 들어 다음 명령은 SQL Server 인스턴스(Computer\Instance)에서 Always On 가용성 그룹을 사용하지 않도록 설정합니다. 이 명령을 사용할 경우 인스턴스를 다시 시작해야 하며, 다시 시작을 확인하는 메시지가 표시됩니다.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    Important

    Disable-SqlAlwaysOn cmdlet에서 SQL Server 서비스를 다시 시작할지? 여부를 제어하는 방법에 대한 자세한 내용은 이 항목의 뒷부분에 나오는 Cmdlet이 SQL Server 서비스를 다시 시작하는 경우를 참조해 주세요.

    cmdlet의 구문을 보려면 PowerShell 환경에서 Get-Help SQL Server cmdlet을 사용합니다. 자세한 내용은 Get Help SQL Server PowerShell을 참조하세요.

SQL Server PowerShell 공급자를 설정하고 사용하려면

후속 작업: Always On을 사용하지 않도록 설정한 후

Always On 가용성 그룹을 해제한 후 SQL Server 인스턴스를 다시 시작해야 합니다. SQL 구성 관리자는 서버 인스턴스를 자동으로 다시 시작합니다. 그러나 Disable-SqlAlwaysOn cmdlet을 사용한 경우 서버 인스턴스를 수동으로 다시 시작해야 합니다. 자세한 내용은 sqlservr Application을 참조하세요.

다시 시작된 서버 인스턴스에서 다음 작업을 수행합니다.

  • 가용성 데이터베이스는 SQL Server 시작 기능을 시작하지 않으므로 해당 시작 기능에 액세스할 수 없습니다.

  • 유일하게 지원되는 Always On Transact-SQL 문은 DROP AVAILABILITY GROUP입니다. ALTER DATABASE의 CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP 및 SET HADR 옵션은 지원되지 않습니다.

  • SQL Server 메타데이터 및 Always On 가용성 그룹 구성 데이터(WSFC 내)는 Always On 가용성 그룹을 사용하지 않도록 설정해도 영향을 받지 않습니다.

하나 이상의 가용성 그룹에 대한 가용성 복제본을 호스트하는 모든 서버 인스턴스에서 Always On 가용성 그룹을 영구적으로 해제한 경우 다음 단계를 완료하는 것이 좋습니다:

  1. Always On을 해제하기 전에 로컬 가용성 복제본을 제거하지 않은 경우 서버 인스턴스가 가용성 복제본을 호스 중인 각 가용성 그룹을 삭제합니다. 가용성 그룹 삭제에 대한 자세한 내용은 가용성 그룹 제거(SQL Server)를 참조하세요.

  2. 뒤에 남은 메타데이터를 제거하려면 원본 WSFC의 일부인 서버 인스턴스에서 각각의 해당 가용성 그룹을 삭제합니다.

  3. 모든 주 데이터베이스가 계속해서 모든 연결에 액세스 가능하지만 주 데이터베이스와 보조 데이터베이스 간 데이터 동기화는 중지됩니다.

  4. 보조 데이터베이스가 RESTORING 상태가 됩니다. 이를 삭제하거나 RESTORE WITH RECOVERY를 사용하여 복원할 수 있습니다. 그러나 복원된 데이터베이스는 더 이상 가용성 그룹 데이터 동기화에 사용되지 않습니다.

Cmdlet이 SQL Server 서비스를 다시 시작하는 경우?

현재 실행 중인 서버 인스턴스에서 Enable-SqlAlways On 또는 Disable-SqlAlways On 을 사용하여 현재 Always On 설정을 변경하면 SQL Server 서비스가 다시 시작될 수 있습니다. 다시 시작 동작은 다음 조건에 따라 달라집니다.

-NoServiceRestart 매개 변수 지정되었는지 여부 -Force 매개 변수가 지정되었는지 여부 SQL Server 서비스가 다시 시작되었는지 여부?
아니요 아니요 기본적으로. 그러나 cmdlet에서 다음과 같이 묻는 메시지가 표시됩니다:

이 작업을 완료하려면 ‘<instance_name>’ 서버 인스턴스에 대한 SQL Server 서비스를 다시 시작해야 합니다. 계속할까요?

[Y] 예 [N] 아니요 [S] 일시 중단 [?] 도움말(기본값 "Y"):

N 또는 S를 지정하면 서비스가 다시 시작되지 않습니다.
서비스가 다시 시작됩니다.
아니요 서비스가 다시 시작되지 않습니다.
서비스가 다시 시작되지 않습니다.

참고 항목

Always On 가용성 그룹 개요(SQL Server)
SERVERPROPERTY(Transact-SQL)