SSMS를 사용하여 링크 구성 - Azure SQL Managed Instance

적용 대상:Azure SQL Managed Instance

이 문서에서는 SSMS(SQL Server Management Studio)를 사용하여 SQL Server 및 Azure SQL Managed Instance 간에 링크를 구성하는 방법을 설명합니다. 이 링크를 사용하면 초기 주 복제본(replica)의 데이터베이스가 거의 실시간으로 보조 복제본으로 복제됩니다.

링크를 만든 다음, 마이그레이션이나 재해 복구를 위해 보조 복제본으로 장애 조치(failover)할 수 있습니다.

참고 항목

  • 스크립트를 사용하여 링크를 구성할 수도 있습니다.
  • Azure SQL Managed Instance를 초기 주 복제본으로 구성하는 기능은 현재 미리 보기 상태이며 SQL Server 2022 CU10부터 지원됩니다.

개요

링크 기능을 사용하면 초기 주 복제본의 데이터베이스를 보조 복제본으로 복제할 수 있습니다. SQL Server 2022의 경우 초기 주 복제본은 SQL Server 또는 Azure SQL Managed Instance일 수 있습니다. SQL Server 2019 이전 버전의 경우 초기 주 복제본은 SQL Server여야 합니다. 링크가 구성되면 초기 주 복제본의 데이터베이스가 보조 복제본으로 복제됩니다.

주 복제본과 보조 복제본 간의 하이브리드 환경에서 연속 데이터 복제를 위해 링크를 그대로 두거나 Azure로 마이그레이션하기 위해 또는 재해 복구를 위해 데이터베이스를 보조 복제본으로 장애 조치(failover)할 수 있습니다. SQL Server 2019 이전 버전의 경우 Azure SQL Managed Instance로 장애 조치(failover)하면 링크가 끊어지고 장애 복구(failback)는 지원되지 않습니다. SQL Server 2022에는 링크를 유지하고 두 복제본(replica) 간에 장애 복구(failback)할 수 있는 옵션이 있습니다. 이 기능은 현재 미리 보기 상태입니다.

보조 Managed Instance를 재해 복구에만 사용하려면 하이브리드 장애 조치(failover) 혜택을 활성화하여 라이선스 비용을 절약할 수 있습니다.

이 문서의 지침을 수행하여 SQL Server 및 Azure SQL Managed Instance 간에 링크를 수동으로 설정합니다. 링크가 생성되면 원본 데이터베이스는 대상 보조 복제본에서 읽기 전용 복사본을 가져옵니다.

필수 조건

참고 항목

링크의 일부 기능은 일반 공급되지만 일부는 현재 미리 보기로 제공됩니다. 자세한 내용은 버전 지원 가능성을 검토하세요.

링크를 통해 데이터베이스를 보조 복제본으로 복제하려면 다음 필수 조건이 필요합니다.

다음을 고려하십시오.

  • 링크 기능은 링크당 하나의 데이터베이스를 지원합니다. 인스턴스에서 데이터베이스 여러 개를 복제하려면 개별 데이터베이스마다 링크를 만듭니다. 예를 들어 10개의 데이터베이스를 SQL Managed Instance에 복제하려면 10개의 개별 링크를 만듭니다.
  • SQL Server와 SQL Managed Instance 간의 데이터 정렬은 동일해야 합니다. 데이터 정렬이 일치하지 않는 경우 서버 이름 대/소문자 구분이 일치하지 않을 수 있으며 SQL Server에서 SQL Managed Instance로의 성공적인 연결을 방해할 수 있습니다.
  • 초기 SQL Server 주 복제본의 오류 1475는 COPY ONLY 옵션 없이 전체 백업을 만들어 새 백업 체인을 시작해야 함을 나타냅니다.

사용 권한

SQL Server의 경우 sysadmin 권한이 있어야 합니다.

Azure SQL Managed Instance의 경우 SQL Managed Instance 기여자 구성원이거나 다음 사용자 지정 역할 권한이 있어야 합니다.

Microsoft.Sql/ 리소스 필요한 권한
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate /작업
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

데이터베이스 준비

SQL Server가 초기 주 복제본인 경우 데이터베이스 백업을 만들어야 합니다. Azure SQL Managed Instance는 자동으로 백업을 수행하므로 SQL Managed Instance가 초기 주 복제본이면 이 단계를 건너뜁니다.

SSMS를 사용하여 SQL Server에서 데이터베이스를 백업합니다. 다음 단계를 수행합니다.

  1. SSMS(SQL Server Management Studio)에서 SQL Server에 연결합니다.
  2. 개체 탐색기에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 커서를 작업에 올린 다음, 백업을 선택합니다.
  3. 백업 유형에 전체를 선택합니다.
  4. 백업 대상 옵션에 사용 가능한 충분한 스토리지 공간이 있는 디스크에 대한 백업 경로가 있는지 확인합니다.
  5. 확인을 선택하여 전체 백업을 완료합니다.

자세한 내용은 전체 데이터베이스 백업 만들기를 참조하세요.

참고 항목

링크는 사용자 데이터베이스 복제만 지원합니다. 시스템 데이터베이스의 복제는 지원되지 않습니다. master 또는 msdb에 저장된 인스턴스 수준 개체를 복제하려면 해당 개체를 스크립팅하고 대상 인스턴스에서 T-SQL 스크립트를 실행합니다.

다음 단계에서는 SSMS의 새 Managed Instance 링크 마법사를 사용하여 초기 주 복제본과 보조 복제본 간에 링크를 만듭니다.

링크가 생성되면 원본 데이터베이스는 대상 보조 복제본에서 읽기 전용 복사본을 가져옵니다.

  1. SSMS를 열고 초기 주 복제본에 연결합니다.

  2. 개체 탐색기에서 보조 복제본에 연결할 데이터베이스를 마우스 오른쪽 단추로 클릭하고 커서를 Azure SQL Managed Instance 링크에 올리고 새로 만들기를 선택하여 새 Managed Instance 링크 마법사를 엽니다. SQL Server 버전이 지원되지 않으면 컨텍스트 메뉴에서 이 옵션을 사용할 수 없습니다.

    Screenshot that shows a database's context menu option to create a new link.

  3. 마법사의 소개 페이지에서 다음을 선택합니다.

  4. 링크 옵션 지정 페이지에서 링크 이름을 입력합니다. 데이터베이스를 여러 개 선택하면 데이터베이스 이름은 입력한 이름 끝에 자동으로 추가되므로 직접 포함시키지 않아도 됩니다. 연결 문제 해결을 사용하도록 설정하고 SQL Server 2022의 경우 양방향 재해 복구에 링크를 사용하려면 확인란을 선택합니다. 다음을 선택합니다.

  5. 요구 사항 페이지에서 마법사는 보조 복제본에 대한 링크를 설정하기 위한 요구 사항을 확인합니다. 모든 요구 사항을 확인한 후 다음을 선택하거나 충족되지 않는 요구 사항을 해결한 다음, 유효성 검사 다시 실행을 선택합니다.

  6. 데이터베이스 선택 페이지에서 링크를 통해 보조 복제본으로 복제할 데이터베이스를 선택합니다. 데이터베이스를 여러 개 선택하면 링크마다 하나씩 분산 가용성 그룹이 여러 개 생성됩니다. 다음을 선택합니다.

  7. 보조 복제본 지정 페이지에서 보조 복제본 추가를 선택하여 보조 복제본을 추가합니다. 초기 주 복제본이 SQL Server인 경우 Azure에 로그인 창이 열립니다. 초기 주 복제본이 SQL Managed Instance인 경우 서버에 연결 대화 상자가 열립니다.

    1. SQL Server 초기 주 복제본의 경우 Azure에 로그인하고 드롭다운에서 구독, 리소스 그룹 및 보조 SQL Server Managed Instance를 선택합니다. 로그인을 선택하여 서버에 연결 대화 상자를 연 다음, 데이터베이스를 복제할 SQL Managed Instance에 연결합니다. 로그인 창에 로그인 성공이 표시되면 확인을 선택하여 창을 닫고 새 Managed Instance 링크 마법사로 돌아갑니다.
    2. SQL Managed Instance 초기 주 복제본의 경우 데이터베이스를 복제할 SQL Server 인스턴스에 연결합니다.
  8. 보조 복제본을 추가한 후 필요한 경우 마법사의 탭을 사용하여 끝점 설정을 수정하고 남은 탭에서 백업 및 링크 끝점에 대한 정보를 검토합니다. 계속할 준비가 되면 다음을 선택합니다.

  9. SQL Managed Instance가 초기 주 복제본인 경우 마법사의 다음 페이지는 Azure에 로그인 페이지입니다. 필요한 경우 다시 로그인한 다음, 다음을 선택합니다. SQL Server가 초기 주 복제본인 경우에는 이 페이지를 사용할 수 없습니다.

  10. 유효성 검사 페이지에서 모든 유효성 검사가 성공했는지 확인합니다. 실패하면 해결한 다음, 유효성 검사를 다시 실행합니다. 준비되면 다음을 선택합니다.

  11. 요약 페이지에서 구성을 다시 한 번 검토합니다. 필요한 경우 스크립트를 선택하여 나중에 같은 링크를 쉽게 다시 만들 수 있도록 스크립트를 생성합니다. 링크를 만들 준비가 되면 마침을 선택합니다.

  12. 작업 실행 페이지에는 각 작업의 진행률이 표시됩니다.

  13. 모든 단계가 완료되면 결과 페이지에서 성공적으로 완료된 작업 옆에 확인 표시가 나타납니다. 이제 마법사를 닫을 수 있습니다.

복제된 데이터베이스 보기

링크가 생성되면 데이터베이스가 보조 복제본으로 복제됩니다. 데이터베이스 크기와 네트워크 속도에 따라 초기에는 보조 복제본에서 데이터베이스 상태가 복원 중일 수 있습니다. 초기 시드 배정이 완료되면 데이터베이스는 보조 복제본으로 복원되고 읽기 전용 워크로드가 준비됩니다.

복제본(replica)의 SSMS에서 개체 탐색기 사용하여 복제된 데이터베이스의 동기화됨 상태를 봅니다. Always On 고가용성가용성 그룹을 확장하여 링크마다 생성된 분산 가용성 그룹을 봅니다.

Screenshot that shows the state of the SQL Server database and distributed availability group in S S M S.Screenshot that shows the state of the SQL Managed Instance database and distributed availability group.

인스턴스가 기본인 것에 관계없이 SQL Server에서 연결된 분산 가용성 그룹을 마우스 오른쪽 단추로 클릭하고 대시보드 표시를 선택하여 분산 가용성 그룹에 연결된 데이터베이스의 상태를 표시하는 분산 가용성 그룹 대시보드를 볼 수도 있습니다.

워크로드 중지

데이터베이스를 보조 복제본으로 마이그레이션하거나 장애 조치(failover)하려면 먼저 유지 관리 시간 동안 주 복제본에서 애플리케이션 워크로드를 중지합니다. 이렇게 하면 데이터베이스 복제본을 보조 복제본에서 파악할 수 있으므로 데이터 손실 없이 보조 복제본으로 장애 조치(failover)하거나 마이그레이션할 수 있습니다. 애플리케이션이 장애 조치(failover) 전에 주 복제본에 트랜잭션을 커밋하지 않는지 확인합니다.

데이터베이스 장애 조치(failover)

SSMS에서 SQL Server 및 Managed Instance 간 장애 조치(failover) 마법사를 사용하여 데이터베이스를 주 복제본에서 보조 복제본으로 장애 조치(failover)합니다.

주 복제본이나 보조 복제본에서 계획된 장애조치를 수행할 수 있습니다. 강제 장애 조치(failover)를 수행하려면 보조 복제본에 연결합니다.

주의

  • 장애 조치(failover)를 수행하기 전에 원본 데이터베이스에서 워크로드를 중지하여 복제된 데이터베이스가 데이터 손실 없이 완전히 파악하고 장애 조치(failover)할 수 있도록 합니다. 강제 장애 조치(failover)를 수행하는 경우 데이터가 손실될 수 있습니다.
  • SQL Server 2019 이전 버전에서 데이터베이스를 장애 조치(failover)하면 두 복제본(replica) 간의 링크가 끊기고 제거됩니다. 초기 주 복제본으로 장애 복구(failback)할 수 없습니다.
  • SQL Server 2022에서 링크를 유지하면서 데이터베이스 장애 조치(failover)는 현재 미리 보기 상태입니다.

데이터베이스를 장애 조치(failover)하려면 다음 단계를 수행합니다.

  1. SSMS를 열고 복제본(replica)에 연결합니다.

  2. 개체 탐색기에서 복제된 데이터베이스를 마우스 오른쪽 단추로 클릭하고 커서를 Azure SQL Managed Instance 링크에 올리고 장애 조치(failover)를 선택하여 SQL Server 및 Managed Instance 간 장애 조치(failover) 마법사를 엽니다. 같은 데이터베이스에서 링크가 여러 개 있으면 개체 탐색기Always On 가용성 그룹에서 가용성 그룹을 확장하고 장애 조치(failover)하려는 링크의 분산 가용성 그룹을 마우스 오른쪽 단추로 클릭합니다. 장애 조치(failover)를 선택하여 해당 특정 링크에 대한 SQL Server 및 Managed Instance 간 장애 조치(failover) 마법사를 엽니다.

    Screenshot that shows a database's context menu option for failover.

  3. 소개 페이지에서 다음을 선택합니다.

  4. 장애 조치(failover) 유형 선택 페이지에는 각 복제본(replica), 선택한 데이터베이스의 역할 및 지원되는 장애 조치(failover) 유형에 대한 세부 정보가 표시됩니다. 모든 복제본(replica)에서 장애 조치(failover)를 시작할 수 있습니다. 강제 장애 조치(failover)를 선택하는 경우 상자를 선택하여 데이터 손실 가능성을 이해하고 있음을 나타내야 합니다. 다음을 선택합니다.

  5. Azure 및 원격 인스턴스에 로그인 페이지에서 로그인을 선택하여 자격 증명을 제공하고 Azure 계정에 로그인합니다. SQL Server 또는 SQL Managed Instance 보조 복제본에 로그인하라는 메시지가 표시되면 로그인을 선택하여 로그인합니다.

  6. 장애 조치(failover) 후 작업 페이지의 옵션은 SQL Server 2022와 이전 버전 간에 다릅니다.

    1. SQL Server 2022의 경우 장애 조치(failover)가 완료된 후 복제본(replica) 간의 복제를 중지하고 링크와 분산 가용성 그룹을 삭제할 수 있습니다. 링크를 유지하고 복제본(replica) 간에 데이터를 계속 복제하려면 확인란을 선택 취소한 상태로 둡니다. 링크를 삭제하는 경우 데이터베이스를 Azure에 복제하기 위한 목적으로만 만든 경우 또는 더 이상 필요하지 않은 경우 확인란을 선택하여 가용성 그룹을 삭제할 수도 있습니다. 시나리오에 맞는 확인란을 선택한 다음, 다음을 선택합니다.
    2. SQL Server 2019 이전 버전의 경우 링크 제거 옵션은 기본적으로 선택되어 있으며 SQL Managed Instance로 장애 조치(failover)하면 복제가 중지되고 링크가 끊어지며 분산 가용성 그룹이 삭제되므로 이 옵션을 선택 취소할 수 없습니다. 링크 삭제를 이해함을 나타내는 확인란을 선택한 다음, 다음을 선택합니다.
  7. 요약 페이지에서 작업을 검토합니다. 필요한 경우 스크립트를 선택하여 나중에 같은 링크를 사용하여 데이터베이스를 쉽게 장애 조치(failover)할 수 있도록 스크립트를 생성합니다. 데이터베이스를 장애 조치(failover)할 준비가 되면 마침을 선택합니다.

  8. 모든 단계가 완료되면 결과 페이지에서 성공적으로 완료된 작업 옆에 확인 표시가 나타납니다. 이제 마법사를 닫을 수 있습니다.

SQL Server 2022의 링크를 유지하면 보조 복제본이 새 주 복제본이 되고 링크는 계속 활성 상태이며 보조 복제본으로 장애 복구(failback)할 수 있습니다.

SQL Server 2019 이전 버전에 있거나 SQL Server 2022의 링크를 삭제한 경우 장애 조치(failover)가 완료되면 링크가 삭제되고 더 이상 존재하지 않습니다. 각 복제본의 원본 데이터베이스와 대상 데이터베이스 모두 읽기/쓰기 워크로드를 실행할 수 있습니다. 두 데이터베이스는 완전히 독립적입니다.

Important

SQL Managed Instance로 장애 조치(failover)가 성공하면 마이그레이션 또는 장애 조치(failover) 프로세스를 완료하고 Azure에서 계속 실행되도록 애플리케이션 연결 문자열을 SQL Managed Instance FQDN으로 수동으로 다시 지정합니다.

장애 조치(failover) 후 데이터베이스 보기

SQL Server 2022의 경우 링크를 유지하면 SQL Server 또는 SQL Managed Instance의 개체 탐색기에서 데이터베이스를 검사할 수 있습니다. 데이터베이스 상태가 동기화됨이고 가용성 그룹 아래에 분산 가용성 그룹이 있습니다.

장애 조치(failover) 중에 링크를 삭제하면 개체 탐색기를 사용하여 분산 가용성 그룹이 더 이상 존재하지 않는지 확인할 수 있지만 가용성 그룹을 유지하면 데이터베이스는 계속 동기화됨 상태입니다.

문제 해결

이 섹션에서는 링크 구성 및 사용과 관련된 issue를 해결하기 위한 지침을 제공합니다.

Errors

링크를 만들거나 데이터베이스를 장애 조치(failover)할 때 오류 메시지가 표시되면 오류를 선택하여 오류에 대한 추가 세부 정보가 포함된 창을 엽니다.

링크를 사용할 때 오류가 발생하면 SSMS 마법사가 실패한 단계에서 실행을 중지하며 다시 시작할 수 없습니다. issue를 해결하고 필요한 경우 분산 가용성 그룹과 가용성 그룹을 제거하여(연결을 설정하는 동안 생성된 경우) 환경을 정리해 원래 상태로 되돌립니다. 그런 다음, 마법사를 다시 시작하여 시작합니다.

강제 장애 조치(failover) 후의 일관되지 않은 상태

강제 장애 조치(failover)를 사용하면 주 복제본과 보조 복제본 간에 일관되지 않은 상태가 발생하여 두 복제본(replica)의 분할 브레인 시나리오가 같은 역할에 있을 수 있습니다. 사용자가 수동으로 복제본(replica) 하나를 주 복제본으로 지정하고 다른 복제본(replica)을 보조 복제본으로 지정하여 상황을 해결할 때까지 데이터 복제는 이 상태에서 실패합니다.

링크 기능에 대한 자세한 내용은 다음 리소스를 검토하세요.