다음을 통해 공유


Azure SQL Database로 복제

적용 대상: Azure SQL Database

SQL Server 및 Azure SQL Managed Instance에서 Azure SQL Database를 단방향 트랜잭션 또는 스냅숏 복제 토폴로지에서 밀어넣기 구독자로 데이터베이스를 구성할 수 있습니다.

참고 항목

이 문서에서는 Azure SQL Database에서 트랜잭션 복제를 사용하는 방법을 설명합니다. 개별 데이터베이스의 전체 읽기 가능 복제본을 만들 수 있는 Azure SQL Database 기능인 활성 지역 복제와는 관련이 없습니다.

지원되는 구성

버전

Azure SQL Database의 데이터베이스로 성공적으로 복제하려면 SQL Server 게시자와 배포자가 (최소) 다음 버전 중 하나를 사용해야 합니다.

다음 버전의 SQL Server에서는 SQL Server 데이터베이스에서 모든 Azure SQL Database에 게시할 수 있습니다.

참고 항목

지원되지 않는 버전을 사용하여 복제를 구성하는 시도는 오류 번호 MSSQL_REPL20084(프로세스가 구독자에 연결할 수 없습니다.) 및 MSSQL_REPL40532(로그인에서 요청한 서버 <이름>을 열 수 없습니다. 로그인이 실패했습니다.)

Azure SQL Database의 모든 기능을 사용하려면 최신 버전의 SQL Server Management Studio (SSMS)SQL Server Data Tools를 사용해야 합니다.

복제의 유형

다음과 같은 여러 복제 유형이 있습니다.

복제 Azure SQL Database Azure SQL Managed Instance
표준 트랜잭션 예(구독자로)
스냅샷 예(구독자로)
병합 복제
피어 투 피어 아니요
양방향
업데이트할 수 있는 구독 아니요

설명

  • 푸시 구독만 Azure SQL Database에서 지원됩니다.
  • SQL Server Management Studio를 사용하거나 게시자에서 Transact-SQL 문을 실행하여 복제본을 구성할 수 있습니다. Azure Portal을 사용하여서는 복제본을 구성할 수 없습니다.
  • 복제본은 Azure SQL Database에 연결하는 데 SQL Server 인증 로그인만 사용할 수 있습니다.
  • 복제된 테이블에는 기본 키가 있어야 합니다.
  • 현존하는 Azure 구독이 있어야 합니다.
  • Azure SQL Database 구독자는 모든 리전에 있을 수 있습니다.
  • SQL Server에서 단일 게시는 Azure SQL 데이터베이스 및 SQL Server(온-프레미스 및 Azure 가상 머신의 SQL Server) 구독자를 모두 지원할 수 있습니다.
  • 복제 관리, 모니터링, 문제 해결은 Azure SQL Database보다는 SQL Server 인스턴스에서 수행해야 합니다.
  • @subscriber_type = 0만이 SQL 데이터베이스에 대한 sp_addsubscription에서 지원됩니다.
  • Azure SQL Database는 양방향, 즉시, 업데이트 가능한 또는 피어 투 피어 복제를 지원하지 않습니다.

복제 아키텍처

다이어그램은 서로 다른 지역의 여러 구독자 클러스터를 포함하는 Azure SQL Database와 원격 클러스터에 연결된 게시자, Logread 실행 파일, 배포자 실행 파일을 포함하는 온-프레미스 Azure 가상 머신이 있는 복제 아키텍처를 보여 줍니다.

시나리오

일반적인 복제 시나리오

  1. SQL Server 데이터베이스에서 트랜잭션 복제 게시를 만듭니다.
  2. SQL Server에서 새 구독 마법사 또는 Transact-SQL 문을 사용하여 Azure SQL 데이터베이스 구독에 대한 푸시를 만듭니다.
  3. Azure SQL 데이터베이스 내 단일 또는 풀링된 데이터베이스에서 초기 데이터 세트는 스냅샷 에이전트에서 만들고 배포 에이전트에서 배포 및 적용한 스냅샷입니다. SQL Managed Instance 게시자에서 데이터베이스 백업을 사용하여 Azure SQL Database 구독자를 시드할 수도 있습니다.

데이터 마이그레이션 시나리오

  1. SQL Server 데이터베이스에서 Azure SQL 데이터베이스로 데이터를 복제하려면 트랜잭션 복제를 사용하세요.
  2. 클라이언트 또는 중간 계층 애플리케이션을 리디렉션하여 데이터베이스 사본을 업데이트합니다.
  3. 테이블의 SQL 서버 버전 업데이트를 중지하고 게시를 제거합니다.

제한 사항

다음 옵션을 사용한 복제는 Azure SQL Database 구독에 대해 지원되지 않습니다.

  • 파일 그룹 연결 복사
  • 테이블 파티션 구성표 복사
  • 인덱스 파티션 구성표 복사
  • 사용자 정의 통계 복사
  • 기본 바인딩 복사
  • 규칙 바인딩 복사
  • 전체 텍스트 인덱스 복사
  • XML XSD 복사
  • XML 인덱스 복사
  • 권한 복사
  • 공간 인덱스 복사
  • 필터링된 인덱스 복사
  • 데이터 압축 특성 복사
  • 스파스 열 특성 복사
  • 파일 스트림을 MAX 데이터 형식으로 변환
  • hierarchyid를 MAX 데이터 형식으로 변환
  • 공간을 MAX 데이터 형식으로 변환
  • 확장 속성 복사

추후 결정될 제한 사항

  • 데이터 정렬 복사
  • SP의 직렬화된 트랜잭션에서 실행

예제

게시 및 밀어넣기 구독을 만듭니다. 자세한 내용은 다음을 참조하세요.

  • 게시 만들기
  • 구독자로는 서버 이름(예: N'azuresqldbdns.database.windows.net')을, 대상 데이터베이스로는 Azure SQL 데이터베이스 이름(예: AdventureWorks)을 사용하여 푸시 구독을 만듭니다.

참고 항목