다음을 통해 공유


자습서: 활성 지역 복제 및 장애 조치(failover) 구성(Azure SQL 데이터베이스)

적용 대상: Azure SQL Database

이 문서에서는 Azure 포털, PowerShell 또는 Azure CLI를 사용하여 지역 복제 활성을 구성하고 Azure SQL 데이터베이스의 장애 조치를 시작하는 방법을 설명합니다.

활성 지역 복제는 데이터베이스별로 구성됩니다. 데이터베이스 그룹을 장애 조치(failover)하거나 애플리케이션에 안정적인 연결 엔드포인트가 필요한 경우 장애 조치(failover) 그룹을 대신 사용하는 것을 고려해 보세요.

필수 조건

보조 데이터베이스 추가

다음 단계에서는 지역에서 복제 파트너 관계에 새 보조 데이터베이스를 만듭니다.

보조 데이터베이스를 추가하려면 구독 소유자 또는 공동 소유자여야 합니다.

보조 데이터베이스는 주 데이터베이스와 이름이 같고, 기본적으로 서비스 계층과 컴퓨팅 크기가 동일합니다. 보조 데이터베이스는 단일 데이터베이스 또는 풀링된 데이터베이스가 될 수 있습니다. 자세한 내용은 DTU 기반 구매 모델 개요vCore 기반 구매 모델을 참조하세요. 보조가 만들어지고 시드된 후 데이터는 주 데이터베이스에서 새로운 보조 데이터베이스로 복제되기 시작합니다.

보조 복제본이 DR(재해 복구)에만 사용되고 읽기 또는 쓰기 워크로드가 없는 경우 새 활성 지역 복제 관계를 구성할 때 데이터베이스를 대기로 지정하여 라이선스 비용을 절감할 수 있습니다. 자세한 내용은 라이선스가 없는 대기 복제본을 참조하세요.

참고 항목

파트너 데이터베이스가 이미 있는 경우(예: 이전 지역에서 복제 관계를 종료한 결과) 명령이 실패합니다.

  1. Azure Portal에서 지역에서 복제를 위해 설치하려는 데이터베이스를 찾습니다.

  2. SQL Database 페이지에서 데이터베이스를 선택하고, 데이터 관리로 이동하고, 복제본을 선택한 다음, 복제본 만들기를 선택합니다.

    지역에서 복제 옵션 구성을 보여주는 스크린샷

  3. 지역 보조 데이터베이스 구독리소스 그룹을 선택합니다.

    구독 및 리소스 그룹의 Azure 포털 스크린샷.

  4. 보조 데이터베이스에 대해 서버를 선택하거나 만들고 필요에 따라 컴퓨팅 + 스토리지 옵션을 구성합니다. 보조 서버에 대해 지역을 선택할 수 있지만 쌍을 이루는 지역이 권장됩니다.

    필요에 따라 탄력적 풀에 보조 데이터베이스를 추가할 수 있습니다. 풀에 보조 데이터베이스를 만들려면 SQL 탄력적 풀 사용 여부? 옆에서 를 선택하고 대상 서버에서 풀을 선택합니다. 대상 서버에 풀이 이미 있어야 합니다. 이 워크플로는 풀을 만들지 않습니다.

  5. 검토 + 만들기를 선택하고, 정보를 검토한 다음, 만들기를 선택합니다.

  6. 보조 데이터베이스가 생성되고 배포 프로세스가 시작됩니다.

    보조 데이터베이스의 배포 상태를 보여주는 스크린샷입니다.

  7. 배포가 완료되면 보조 데이터베이스에 해당 상태가 표시됩니다.

    배포 후 보조 데이터베이스 상태를 보여주는 스크린샷입니다.

  8. 주 데이터베이스 페이지로 돌아간 후 복제본을 선택합니다. 보조 데이터베이스가 지역 복제본 아래에 나열됩니다.

    SQL 데이터베이스 주 및 지역 복제본을 보여주는 스크린샷입니다.

장애 조치(failover) 시작

보조 데이터베이스가 주 데이터베이스가 되도록 전환할 수 있습니다.

  1. Azure Portal에서 지역에서 복제 파트너 관계에 있는 주 데이터베이스를 찾습니다.

  2. 데이터 관리로 스크롤한 후 복제본을 선택합니다.

  3. 지역 복제본 목록에서 새 주 데이터베이스로 지정할 데이터베이스를 선택하고, 줄임표를 선택한 후 강제 장애 조치(failover) 를 선택합니다.

    드롭다운에서 강제 장애 조치(failover) 선택을 보여주는 스크린샷입니다.

  4. 를 선택하여 장애 조치(failover)를 시작합니다.

이 명령은 보조 데이터베이스를 주 역할로 즉시 전환합니다. 이 프로세스는 일반적으로 30초 이내로 완료됩니다.

역할을 전환하는 동안 최대 25초 동안 두 데이터베이스를 모두 사용할 수 없습니다. 주 데이터베이스에 여러 개의 보조 데이터베이스가 있는 경우 이 명령을 사용하면 새로운 주 데이터베이스에 연결할 다른 보조 데이터베이스가 자동으로 다시 구성됩니다. 전체 작업은 정상적인 상황에서 완료하는데 1분 미만이 걸려야 합니다.

보조 데이터베이스 제거

이 작업은 보조 데이터베이스에 대한 복제를 영구적으로 중지하고 보조의 역할을 일반적인 읽기-쓰기 데이터베이스로 변경합니다. 보조 데이터베이스에 대한 연결이 끊어진 경우 명령이 성공하지만 연결이 복원된 후에야 보조는 읽기-쓰기가 수행됩니다.

  1. Azure Portal에서 지역에서 복제 파트너 관계에 있는 주 데이터베이스를 찾습니다.
  2. 복제본을 선택합니다.
  3. 지역 복제본 목록에서 지역 복제본 파트너 관계에서 제거하려는 데이터베이스를 선택하고, 줄임표를 선택한 후 복제 중지를 선택합니다.
  4. 확인 창이 열립니다. 지역에서 복제 파트너 관계에서 데이터베이스를 제거하려면 를 선택합니다. (복제에 포함되지 않은 읽기-쓰기 데이터베이스로 설정합니다.)

구독 간 지역 복제

  • 동일한 Microsoft Entra 테넌트의 기본 구독과 다른 구독에서 지역 보조 복제본을 만들려면 Azure 포털 또는 이 섹션의 단계를 사용할 수 있습니다.
  • 다른 Microsoft Entra 테넌트의 기본 구독과 다른 구독에서 지역 보조 복제본을 만들려면 이 섹션의 단계에 설명된 대로 SQL 인증 및 T-SQL을 사용해야 합니다. 논리 서버가 다른 Azure 테넌트에 있는 경우 구독 간 지역 복제를 위한 Azure SQL 에 대한 Microsoft Entra 인증이 지원되지 않습니다.
  1. 아래 T-SQL 명령을 실행되는 클라이언트 컴퓨터의 IP 주소를 주 서버 및 보조 서버의 서버 방화벽에 모두 추가합니다. 동일한 클라이언트 머신에서 주 서버에 연결된 동안 다음 쿼리를 실행하여 IP 주소를 확인할 수 있습니다.

    SELECT client_net_address
    FROM sys.dm_exec_connections
    WHERE session_id = @@SPID;
    

    자세한 내용은 Azure SQL Database 및 Azure Synapse IP 방화벽 규칙을 참조하세요.

  2. 서버의 master 데이터베이스에서 활성 지역 복제 설정 전용 SQL 인증 로그인을 만듭니다. 로그인 이름 및 암호를 필요한 대로 조정합니다.

    CREATE LOGIN geodrsetup
        WITH PASSWORD = 'ComplexPassword01';
    
  3. 동일한 데이터베이스에서 로그인에 대한 사용자를 만들고 dbmanager 역할에 추가합니다.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
    ALTER ROLE dbmanager ADD MEMBER geodrsetup;
    
  4. 새 로그인의 SID 값을 기록해 둡니다. 다음 쿼리를 사용하여 SID 값을 얻습니다.

    SELECT sid
    FROM sys.sql_logins
    WHERE name = 'geodrsetup';
    
  5. master 데이터베이스가 아닌 데이터베이스에 연결하고 동일한 로그인에 대한 사용자를 만듭니다.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
  6. 동일한 데이터베이스에서 db_owner 역할에 사용자를 추가합니다.

    ALTER ROLE db_owner ADD MEMBER geodrsetup;
    
  7. 보조 서버의 master 데이터베이스에서 주 서버와 마찬가지로 동일한 이름, 암호 및 SID를 사용하여 동일한 로그인을 만듭니다. 아래 샘플 명령의 16진수 SID 값을 4단계에서 얻은 값으로 바꿉니다.

    CREATE LOGIN geodrsetup
        WITH PASSWORD = 'ComplexPassword01', SID = 0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. 동일한 데이터베이스에서 로그인에 대한 사용자를 만들고 dbmanager 역할에 추가합니다.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
    ALTER ROLE dbmanager ADD MEMBER geodrsetup;
    
  9. geodrsetup 로그인을 사용하여 서버의 master 데이터베이스에 연결하고, 보조 서버에서 지역 보조 만들기를 시작합니다. 데이터베이스 이름 및 보조 서버 이름을 필요한 대로 조정합니다. 명령이 실행되면 데이터베이스의 sys.dm_geo_replication_link_status 보기 및 서버의 master 데이터베이스의 sys.dm_operation_status 보기를 쿼리하여 지역 보조 만들기를 모니터링할 수 있습니다. 지역 보조를 만드는 데 필요한 시간은 주 데이터베이스 크기에 따라 다릅니다.

    alter database [dbrep] add secondary on server [servername];
    
  10. 지역 보조를 성공적으로 만든 후에는 이 절차에 따라 만든 사용자, 로그인 및 방화벽 규칙을 제거해도 됩니다.