다음을 통해 공유


Eventstream에 Azure SQL Database CDC 원본 추가

이 문서에서는 Azure SQL Database CDC(변경 데이터 캡처) 원본을 이벤트 스트림에 추가하는 방법을 보여 줍니다.

Microsoft Fabric 이벤트 스트림에 대한 Azure SQL Database CDC 원본 커넥터를 사용하면 Azure SQL 데이터베이스에서 현재 데이터의 스냅샷을 캡처할 수 있습니다. 그런 다음, 커넥터는 이 데이터에 대한 향후 행 수준 변경 내용을 모니터링하고 기록합니다. 변경 내용이 Eventstream에서 캡처되면 이 CDC 데이터를 실시간으로 처리하고 추가 처리 또는 분석을 위해 패브릭의 다른 목적지로 보낼 수 있습니다.

비고

이 원본은 미국 서부 3, 스위스 서부 하위 지역의 작업 영역 용량에서 지원되지 않습니다.

필수 조건

  • Fabric의 용량 라이선스 모드 또는 평가판 라이선스 모드에서 참가자 이상의 권한으로 작업 공간에 액세스합니다.
  • Azure SQL 데이터베이스가 있는 실행 중인 Azure SQL 서버입니다.
  • Azure SQL 데이터베이스는 공개적으로 액세스할 수 있어야 하며 방화벽 뒤에 있거나 가상 네트워크에서 보호되지 않아야 합니다.
  • 저장 프로시저 sys.sp_cdc_enable_db를 실행하여 Azure SQL 데이터베이스에서 CDC를 사용하도록 설정했습니다. 자세한 사항은 변경 데이터 캡처 사용 및 미사용을 참조하세요.
  • eventstream이 없는 경우 eventstream 을 만듭니다.

Azure SQL 데이터베이스에서 미러링을 사용하도록 설정해서는 안 됩니다.

Azure SQL Database에서 CDC 사용

  1. Azure Portal로 이동하여 Azure SQL 데이터베이스를 열고 쿼리 편집기를 선택합니다. 로그인할 인증 방법을 선택합니다.

    Azure SQL 데이터베이스를 여는 스크린샷.

  2. 다음 SQL 명령을 실행하여 데이터베이스에서 CDC를 사용하도록 설정합니다.

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

데이터 원본 선택 마법사 시작

아직 eventstream에 원본을 추가하지 않은 경우 외부 원본 타일 사용을 선택합니다.

외부 원본 타일 사용 선택을 보여주는 스크린샷

이미 게시된 eventstream에 원본을 추가하려면 편집 모드로 전환한 후, 리본에서 원본 추가를 선택하고, 이어서 외부 원본을 선택합니다.

외부 원본에 원본 추가 메뉴의 선택을 보여 주는 스크린샷

데이터 원본 선택 페이지에서 Azure SQL DB(CDC) 타일에서 연결을 검색하여 선택합니다.

이벤트 가져오기 마법사에서 Azure SQL DB CDC를 원본 유형으로 선택하는 방법을 보여 주는 스크린샷

Azure SQL Database CDC 구성 및 연결

  1. 연결 페이지에서 새 연결을 선택합니다.

    **새 연결** 링크가 강조 표시된 이벤트 가져오기 마법사의 연결 페이지를 보여주는 스크린샷.

  2. 연결 설정 섹션에서 Azure SQL 데이터베이스에 대해 다음 값을 입력합니다.

    • 서버: Azure Portal에서 Azure SQL Server 이름을 입력합니다. 이 형식은 다음과 mysqlservername.database.windows.net같습니다.

    • 데이터베이스: Azure Portal에서 Azure SQL 데이터베이스 이름을 입력합니다.

      새 연결 페이지의 연결 설정 섹션을 보여주는 스크린샷.

  3. 아래로 스크롤하고 연결 자격 증명 섹션에서 다음 단계를 수행합니다.

    • 연결 이름에 연결 이름을 입력합니다.

    • 인증 종류에 대해 기본을 선택합니다.

      비고

      현재 Fabric Eventstream은 기본 인증만 지원합니다.

    • 데이터베이스의 사용자 이름비밀번호를 입력합니다.

  4. 연결을 선택합니다.

    새 연결 페이지의 연결 자격 증명 섹션을 보여주는 스크린샷.

  5. 이제 연결 페이지에서 모든 테이블을 선택하거나 테이블 이름을 입력합니다. 후자를 선택하는 경우 전체 테이블 식별자(schemaName.tableName) 또는 유효한 정규식의 쉼표로 구분된 목록을 사용하여 테이블을 지정합니다. 다음은 그 예입니다.

    • dbo.test.* 사용하여 이름이 dbo.test시작하는 모든 테이블을 선택합니다.
    • dbo\.(test1|test2)을 사용하여 dbo.test1dbo.test2를 선택하세요.

    쉼표로 두 형식을 혼합할 수 있습니다. 전체 항목의 총 문자 제한은 102,400 자입니다.

  6. 고급 설정을 확장하여 Azure SQL Database CDC 원본에 대한 추가 구성 옵션에 액세스할 수 있습니다.

    • 10진수 처리 모드: 커넥터가 열 값 DECIMALNUMERIC을 처리하는 방법을 정의합니다.
      • Precise: 정확한 10진수 형식(예: Java BigDecimal)을 사용하여 데이터 표현의 전체 정밀도 및 정확도를 보장하는 값을 나타냅니다.
      • Double: 값을 배정밀도 부동 소수점 숫자로 변환합니다. 이 설정은 유용성 및 성능을 향상하지만 정밀도가 손실될 수 있습니다.
      • String: 값을 형식이 지정된 문자열로 인코딩합니다. 이 설정을 사용하면 다운스트림 시스템에서 쉽게 사용할 수 있지만 원래 숫자 형식에 대한 의미 체계 정보가 손실됩니다.
    • 스냅샷 모드: 커넥터가 시작될 때 스냅샷을 수행하기 위한 조건을 지정합니다.
      • Initial: 논리 서버 이름에 대한 오프셋이 기록되지 않거나 이전 스냅샷이 완료되지 않은 것으로 감지된 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터는 후속 데이터베이스 변경에 대한 이벤트 레코드를 스트리밍하기 시작합니다.
      • InitialOnly: 논리 서버 이름에 대한 오프셋이 기록되지 않은 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터가 중지됩니다. binlog에서 변경 이벤트를 읽기 위해 스트리밍으로 전환되지 않습니다.
      • NoData: 커넥터는 스키마만 캡처하지만 테이블 데이터는 캡처하지 않는 스냅샷을 실행합니다. 데이터의 일관된 스냅샷이 필요하지 않지만 커넥터가 시작된 후 변경 내용만 필요한 경우 이 옵션을 설정합니다.
    • 열 제외 목록: 정규화된 이름(schemaName.tableName.columnName)을 사용하여 변경 이벤트 값에서 제외할 열을 지정합니다.
    • Database applicationIntent: SQL Server Always On 가용성 그룹에서 라우팅 동작을 결정합니다.
      • ReadWrite: 주 복제본에 연결합니다. 연결에서 읽기 및 쓰기 작업을 모두 수행해야 하는 경우 이를 사용합니다.
      • ReadOnly: 읽기 전용 작업을 위해 읽기 가능한 보조 복제본으로 라우팅할 수 있습니다. 복제본에서 CDC를 직접 사용하도록 설정하는 데 사용합니다. 읽기 전용 복제본에 대해 지원되는 유일한 트랜잭션 격리 모드인 snapshot.isolation.mode를 스냅샷으로 설정해야 합니다.
    • 스냅샷 선택문 재정의: 스냅샷이 테이블의 일부 행만 포함하도록 하려면 이 속성을 사용하십시오. 이 속성은 스냅샷에만 영향을 줍니다. 커넥터가 로그에서 읽는 이벤트에는 적용되지 않습니다.
  7. 다음을 선택합니다.

    이벤트 가져오기 마법사의 채워진 연결 페이지를 보여주는 스크린샷

  8. 검토 및 만들기 화면에서 요약을 검토한 다음 추가를 선택합니다.

    이벤트 가져오기 마법사의 검토 및 만들기 페이지가 채워진 것을 보여 주는 스크린샷

CDC를 통해 자동 테이블 스키마 등록을 사용하여 Azure SQL 데이터베이스에서 Eventstream으로 변경 데이터를 수집합니다.

  1. 연결 페이지에서 새 연결을 선택합니다.

    새 연결 링크가 강조 표시된 이벤트 가져오기 마법사의 연결 페이지를 보여주는 스크린샷.

  2. 연결 설정 섹션에서 Azure SQL 데이터베이스에 대해 다음 값을 입력합니다.

    • 서버: Azure Portal에서 Azure SQL Server 이름을 입력합니다. 이 형식은 다음과 mysqlservername.database.windows.net같습니다.

    • 데이터베이스: Azure Portal에서 Azure SQL 데이터베이스 이름을 입력합니다.

      새 연결 페이지의 연결 설정 섹션을 보여주는 스크린샷.

  3. 아래로 스크롤하고 연결 자격 증명 섹션에서 다음 단계를 수행합니다.

    • 연결 이름에 연결 이름을 입력합니다.

    • 인증 종류에 대해 기본을 선택합니다.

      비고

      현재 Fabric Eventstream은 기본 인증만 지원합니다.

    • 데이터베이스의 사용자 이름비밀번호를 입력합니다.

  4. 연결을 선택합니다.

    새 연결 페이지의 연결 자격 증명 섹션을 보여주는 스크린샷.

  5. 이제 연결 페이지에서 모든 테이블을 선택하거나 테이블 이름을 입력합니다. 후자를 선택하는 경우 전체 테이블 식별자(schemaName.tableName) 또는 유효한 정규식의 쉼표로 구분된 목록을 사용하여 테이블을 지정합니다. 다음은 그 예입니다.

    • dbo.test.* 사용하여 이름이 dbo.test시작하는 모든 테이블을 선택합니다.
    • dbo\.(test1|test2)을 사용하여 dbo.test1dbo.test2를 선택하세요.

    쉼표로 두 형식을 혼합할 수 있습니다. 전체 항목의 총 문자 제한은 102,400 자입니다.

  6. 고급 설정을 확장하여 Azure SQL Database CDC 원본에 대한 추가 구성 옵션에 액세스할 수 있습니다.

    • 10진수 처리 모드: 커넥터가 DECIMALNUMERIC 열 값을 처리하는 방법을 정의합니다.
      • Precise: 정확한 10진수 형식(예: Java BigDecimal)을 사용하여 데이터 표현의 전체 정밀도 및 정확도를 보장하는 값을 나타냅니다.
      • Double: 값을 배정밀도 부동 소수점 숫자로 변환합니다. 이 설정은 유용성 및 성능을 향상하지만 정밀도가 손실될 수 있습니다.
      • String: 값을 형식이 지정된 문자열로 인코딩합니다. 이 설정을 사용하면 다운스트림 시스템에서 쉽게 사용할 수 있지만 원래 숫자 형식에 대한 의미 체계 정보가 손실됩니다.
    • 스냅샷 모드: 커넥터가 시작될 때 스냅샷을 수행하기 위한 조건을 지정합니다.
      • Initial: 논리 서버 이름에 대한 오프셋이 기록되지 않거나 이전 스냅샷이 완료되지 않은 것으로 감지된 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터는 후속 데이터베이스 변경에 대한 이벤트 레코드를 스트리밍하기 시작합니다.
      • InitialOnly: 논리 서버 이름에 대한 오프셋이 기록되지 않은 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터가 중지됩니다. binlog에서 변경 이벤트를 읽기 위해 스트리밍으로 전환되지 않습니다.
      • NoData: 커넥터는 스키마만 캡처하지만 테이블 데이터는 캡처하지 않는 스냅샷을 실행합니다. 데이터의 일관된 스냅샷이 필요하지 않지만 커넥터가 시작된 후 변경 내용만 필요한 경우 이 옵션을 설정합니다.
    • 열 제외 목록: 정규화된 이름(schemaName.tableName.columnName)을 사용하여 변경 이벤트 값에서 제외할 열을 지정합니다.
    • Database applicationIntent: SQL Server Always On 가용성 그룹에서 라우팅 동작을 결정합니다.
      • ReadWrite: 주 복제본에 연결합니다. 연결에서 읽기 및 쓰기 작업을 모두 수행해야 하는 경우 이를 사용합니다.
      • ReadOnly: 읽기 전용 작업을 위해 읽기 가능한 보조 복제본으로 라우팅할 수 있습니다. 복제본에서 CDC를 직접 사용하도록 설정하는 데 사용합니다. 읽기 전용 복제본에 대해 지원되는 유일한 트랜잭션 격리 모드인 snapshot.isolation.mode를 스냅샷으로 설정해야 합니다.
    • 스냅샷 선택 문 재정의: 스냅샷이 테이블에 있는 일부 행만 포함하도록 하려면 이 속성을 사용합니다. 이 속성은 스냅샷에만 영향을 줍니다. 커넥터가 로그에서 읽는 이벤트에는 적용되지 않습니다.
  7. 이벤트 스키마 연결을 사용하도록 설정합니다.

  8. 작업 영역의 경우 스키마 집합에 대한 패브릭 작업 영역을 선택합니다.

  9. 스키마 집합의 경우 + 만들기가 기본적으로 선택되어 새 스키마 집합을 만듭니다. 기존 이벤트 스키마 집합을 선택하도록 변경할 수 있습니다.

  10. 이전 단계에서 + 만들기 옵션을 선택한 경우 스키마 집합의 이름을 입력합니다.

    Azure SQL Database CDC 원본에 대한 스키마 설정을 보여 주는 스크린샷

  11. 검토 + 연결 페이지에서 추가를 선택합니다.

    Azure SQL Database CDC 원본에 대한 검토 + 연결 페이지를 보여 주는 스크린샷

    Azure SQL 데이터베이스의 모든 테이블 또는 선택한 테이블의 경우 커넥터는 스키마를 자동으로 검색하고 만들고 스키마 레지스트리에 등록합니다.

  12. 가운데에 있는 eventstream 노드를 선택하고 아래쪽 창에서 연결된 스키마 탭으로 전환합니다.

    아래쪽 창의 연결된 스키마 창을 보여 주는 스크린샷

스키마 집합

  1. 이전 단계에서 선택한 작업 영역으로 이동합니다. 다음 예제에서는 내 작업 영역입니다.

  2. Azure SQL Database(CDC) 커넥터가 만든 스키마 집합을 선택합니다.

    내 작업 영역 페이지에서 생성된 스키마 집합을 보여 주는 스크린샷

  3. 다음 이미지와 같이 스키마 집합에 스키마가 표시됩니다.

    생성된 스키마 집합의 스키마를 보여 주는 스크린샷

  4. 스키마의 JSON 버전을 보려면 JSON 스키마 보기로 전환합니다.

    JSON 스키마 보기를 보여 주는 스크린샷

    이 편집기를 사용하여 검색된 스키마는 Azure SQL 데이터베이스 원본의 테이블 스키마와 함께 비정상 상태가 되므로 변경하지 마세요.

업데이트된 eventstream 보기

  1. 편집 모드에서 이벤트 스트림에 추가된 Azure SQL Database(CDC) 원본을 볼 수 있습니다.

    편집 보기에서 Azure SQL Database CDC 원본 스트리밍의 스크린샷.

  2. 새로 추가된 Azure SQL Database CDC 원본을 구현하려면 게시를 선택합니다. 이러한 단계를 완료하면 Azure SQL Database CDC 원본을 라이브 보기에서 시각화할 수 있습니다.

    라이브 보기에서 Azure SQL Database CDC 원본 스트리밍의 스크린샷.

스키마를 사용하도록 eventstream 대상 구성

현재 확장 기능(예: 스키마 지원)을 사용하도록 설정된 Eventstream에는 Eventhouse, 사용자 지정 엔드포인트 및 파생 스트림 대상만 지원됩니다. 이 섹션에서는 확장 기능(예: 스키마 지원)이 Eventstream에 사용하도록 설정된 경우 Eventhouse 대상을 추가하고 구성하는 방법을 보여 줍니다.

사용자 지정 엔드포인트 대상에 대한 스키마 구성

  1. 이벤트 변환을 선택하거나 대상을 추가한 다음 사용자 지정 엔드포인트를 선택합니다.

  2. 사용자 지정 엔드포인트 창에서 평소와 같이 대상의 이름을 지정합니다.

  3. 입력 스키마의 경우 이벤트에 대한 스키마를 선택합니다. 이 필드는 이벤트 스트림에 대한 스키마 지원을 사용하도록 설정할 때 입력하는 추가 필드입니다.

    사용자 지정 엔드포인트 구성 페이지를 보여 주는 스크린샷.

    사용자 지정 엔드포인트 대상을 구성하는 방법에 대한 자세한 단계는 이벤트 스트림에 사용자 지정 엔드포인트 또는 사용자 지정 앱 대상 추가를 참조하세요.

Eventhouse 대상에 대한 스키마 구성

  1. 이벤트 변환을 선택하거나 대상을 추가한 다음, Eventhouse를 선택합니다.
  2. Eventhouse 페이지에서 다음 스키마 관련 설정을 구성합니다.
    1. 입력 스키마의 경우 드롭다운 목록에서 하나 이상의 스키마를 선택합니다.

      입력 스키마가 선택된 Eventhouse 구성 페이지를 보여 주는 스크린샷

      비고

      Event Hubs 원본을 구성할 때 헤더 옵션을 통해 동적 스키마 를 선택한 경우 원본에 대해 여러 스키마를 구성하고 다른 속성 및 해당 값에 매핑했을 수 있습니다.

    2. 테이블 만들기 방법의 경우 요구 사항에 따라 옵션 중 하나를 선택합니다. 모든 스키마가 결합된 단일 테이블 또는 각 스키마에 대한 별도의 테이블.

      테이블 생성 메서드가 있는 Eventhouse 구성 페이지를 보여 주는 스크린샷.

    3. 데이터를 쓰기 위해 다음 옵션 중 하나를 선택합니다.

      • 페이로드만: 추출된 페이로드 데이터를 테이블에 작성합니다. 여러 입력 스키마가 있는 경우 데이터는 여러 테이블로 전송됩니다.

      • 메타데이터 및 페이로드: 메타데이터 및 페이로드 데이터를 단일 테이블에 씁니다. 예제 열: source, subject, type, data

        쓰기 데이터 옵션이 있는 Eventhouse 구성 페이지를 보여 주는 스크린샷.

      Eventhouse 대상을 구성하는 방법에 대한 자세한 단계는 Eventstream에 Eventhouse 대상 추가를 참조하세요.

기타 커넥터: