이 문서에서는 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 사용
Azure Portal로 이동하여 Azure SQL 데이터베이스를 열고 쿼리 편집기를 선택합니다. 로그인할 인증 방법을 선택합니다.
다음 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 Database CDC 구성 및 연결
연결 페이지에서 새 연결을 선택합니다.
연결 설정 섹션에서 Azure SQL 데이터베이스에 대해 다음 값을 입력합니다.
서버: Azure Portal에서 Azure SQL Server 이름을 입력합니다. 이 형식은 다음과
mysqlservername.database.windows.net같습니다.데이터베이스: Azure Portal에서 Azure SQL 데이터베이스 이름을 입력합니다.
아래로 스크롤하고 연결 자격 증명 섹션에서 다음 단계를 수행합니다.
연결 이름에 연결 이름을 입력합니다.
인증 종류에 대해 기본을 선택합니다.
비고
현재 Fabric Eventstream은 기본 인증만 지원합니다.
데이터베이스의 사용자 이름 및 비밀번호를 입력합니다.
연결을 선택합니다.
이제 연결 페이지에서 모든 테이블을 선택하거나 테이블 이름을 입력합니다. 후자를 선택하는 경우 전체 테이블 식별자(
schemaName.tableName) 또는 유효한 정규식의 쉼표로 구분된 목록을 사용하여 테이블을 지정합니다. 다음은 그 예입니다.-
dbo.test.*사용하여 이름이dbo.test시작하는 모든 테이블을 선택합니다. -
dbo\.(test1|test2)을 사용하여dbo.test1과dbo.test2를 선택하세요.
쉼표로 두 형식을 혼합할 수 있습니다. 전체 항목의 총 문자 제한은 102,400 자입니다.
-
고급 설정을 확장하여 Azure SQL Database CDC 원본에 대한 추가 구성 옵션에 액세스할 수 있습니다.
-
10진수 처리 모드: 커넥터가 열 값
DECIMAL과NUMERIC을 처리하는 방법을 정의합니다.-
Precise: 정확한 10진수 형식(예: JavaBigDecimal)을 사용하여 데이터 표현의 전체 정밀도 및 정확도를 보장하는 값을 나타냅니다. -
Double: 값을 배정밀도 부동 소수점 숫자로 변환합니다. 이 설정은 유용성 및 성능을 향상하지만 정밀도가 손실될 수 있습니다. -
String: 값을 형식이 지정된 문자열로 인코딩합니다. 이 설정을 사용하면 다운스트림 시스템에서 쉽게 사용할 수 있지만 원래 숫자 형식에 대한 의미 체계 정보가 손실됩니다.
-
-
스냅샷 모드: 커넥터가 시작될 때 스냅샷을 수행하기 위한 조건을 지정합니다.
-
Initial: 논리 서버 이름에 대한 오프셋이 기록되지 않거나 이전 스냅샷이 완료되지 않은 것으로 감지된 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터는 후속 데이터베이스 변경에 대한 이벤트 레코드를 스트리밍하기 시작합니다. -
InitialOnly: 논리 서버 이름에 대한 오프셋이 기록되지 않은 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터가 중지됩니다. binlog에서 변경 이벤트를 읽기 위해 스트리밍으로 전환되지 않습니다. -
NoData: 커넥터는 스키마만 캡처하지만 테이블 데이터는 캡처하지 않는 스냅샷을 실행합니다. 데이터의 일관된 스냅샷이 필요하지 않지만 커넥터가 시작된 후 변경 내용만 필요한 경우 이 옵션을 설정합니다.
-
- 열 제외 목록: 정규화된 이름(schemaName.tableName.columnName)을 사용하여 변경 이벤트 값에서 제외할 열을 지정합니다.
-
Database applicationIntent: SQL Server Always On 가용성 그룹에서 라우팅 동작을 결정합니다.
-
ReadWrite: 주 복제본에 연결합니다. 연결에서 읽기 및 쓰기 작업을 모두 수행해야 하는 경우 이를 사용합니다. -
ReadOnly: 읽기 전용 작업을 위해 읽기 가능한 보조 복제본으로 라우팅할 수 있습니다. 복제본에서 CDC를 직접 사용하도록 설정하는 데 사용합니다. 읽기 전용 복제본에 대해 지원되는 유일한 트랜잭션 격리 모드인 snapshot.isolation.mode를 스냅샷으로 설정해야 합니다.
-
- 스냅샷 선택문 재정의: 스냅샷이 테이블의 일부 행만 포함하도록 하려면 이 속성을 사용하십시오. 이 속성은 스냅샷에만 영향을 줍니다. 커넥터가 로그에서 읽는 이벤트에는 적용되지 않습니다.
-
10진수 처리 모드: 커넥터가 열 값
다음을 선택합니다.
검토 및 만들기 화면에서 요약을 검토한 다음 추가를 선택합니다.
CDC를 통해 자동 테이블 스키마 등록을 사용하여 Azure SQL 데이터베이스에서 Eventstream으로 변경 데이터를 수집합니다.
연결 페이지에서 새 연결을 선택합니다.
연결 설정 섹션에서 Azure SQL 데이터베이스에 대해 다음 값을 입력합니다.
서버: Azure Portal에서 Azure SQL Server 이름을 입력합니다. 이 형식은 다음과
mysqlservername.database.windows.net같습니다.데이터베이스: Azure Portal에서 Azure SQL 데이터베이스 이름을 입력합니다.
아래로 스크롤하고 연결 자격 증명 섹션에서 다음 단계를 수행합니다.
연결 이름에 연결 이름을 입력합니다.
인증 종류에 대해 기본을 선택합니다.
비고
현재 Fabric Eventstream은 기본 인증만 지원합니다.
데이터베이스의 사용자 이름 및 비밀번호를 입력합니다.
연결을 선택합니다.
이제 연결 페이지에서 모든 테이블을 선택하거나 테이블 이름을 입력합니다. 후자를 선택하는 경우 전체 테이블 식별자(
schemaName.tableName) 또는 유효한 정규식의 쉼표로 구분된 목록을 사용하여 테이블을 지정합니다. 다음은 그 예입니다.-
dbo.test.*사용하여 이름이dbo.test시작하는 모든 테이블을 선택합니다. -
dbo\.(test1|test2)을 사용하여dbo.test1과dbo.test2를 선택하세요.
쉼표로 두 형식을 혼합할 수 있습니다. 전체 항목의 총 문자 제한은 102,400 자입니다.
-
고급 설정을 확장하여 Azure SQL Database CDC 원본에 대한 추가 구성 옵션에 액세스할 수 있습니다.
-
10진수 처리 모드: 커넥터가
DECIMAL및NUMERIC열 값을 처리하는 방법을 정의합니다.-
Precise: 정확한 10진수 형식(예: JavaBigDecimal)을 사용하여 데이터 표현의 전체 정밀도 및 정확도를 보장하는 값을 나타냅니다. -
Double: 값을 배정밀도 부동 소수점 숫자로 변환합니다. 이 설정은 유용성 및 성능을 향상하지만 정밀도가 손실될 수 있습니다. -
String: 값을 형식이 지정된 문자열로 인코딩합니다. 이 설정을 사용하면 다운스트림 시스템에서 쉽게 사용할 수 있지만 원래 숫자 형식에 대한 의미 체계 정보가 손실됩니다.
-
-
스냅샷 모드: 커넥터가 시작될 때 스냅샷을 수행하기 위한 조건을 지정합니다.
-
Initial: 논리 서버 이름에 대한 오프셋이 기록되지 않거나 이전 스냅샷이 완료되지 않은 것으로 감지된 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터는 후속 데이터베이스 변경에 대한 이벤트 레코드를 스트리밍하기 시작합니다. -
InitialOnly: 논리 서버 이름에 대한 오프셋이 기록되지 않은 경우에만 커넥터가 스냅샷을 실행합니다. 스냅샷이 완료되면 커넥터가 중지됩니다. binlog에서 변경 이벤트를 읽기 위해 스트리밍으로 전환되지 않습니다. -
NoData: 커넥터는 스키마만 캡처하지만 테이블 데이터는 캡처하지 않는 스냅샷을 실행합니다. 데이터의 일관된 스냅샷이 필요하지 않지만 커넥터가 시작된 후 변경 내용만 필요한 경우 이 옵션을 설정합니다.
-
- 열 제외 목록: 정규화된 이름(schemaName.tableName.columnName)을 사용하여 변경 이벤트 값에서 제외할 열을 지정합니다.
-
Database applicationIntent: SQL Server Always On 가용성 그룹에서 라우팅 동작을 결정합니다.
-
ReadWrite: 주 복제본에 연결합니다. 연결에서 읽기 및 쓰기 작업을 모두 수행해야 하는 경우 이를 사용합니다. -
ReadOnly: 읽기 전용 작업을 위해 읽기 가능한 보조 복제본으로 라우팅할 수 있습니다. 복제본에서 CDC를 직접 사용하도록 설정하는 데 사용합니다. 읽기 전용 복제본에 대해 지원되는 유일한 트랜잭션 격리 모드인 snapshot.isolation.mode를 스냅샷으로 설정해야 합니다.
-
- 스냅샷 선택 문 재정의: 스냅샷이 테이블에 있는 일부 행만 포함하도록 하려면 이 속성을 사용합니다. 이 속성은 스냅샷에만 영향을 줍니다. 커넥터가 로그에서 읽는 이벤트에는 적용되지 않습니다.
-
10진수 처리 모드: 커넥터가
이벤트 스키마 연결을 사용하도록 설정합니다.
작업 영역의 경우 스키마 집합에 대한 패브릭 작업 영역을 선택합니다.
스키마 집합의 경우 + 만들기가 기본적으로 선택되어 새 스키마 집합을 만듭니다. 기존 이벤트 스키마 집합을 선택하도록 변경할 수 있습니다.
이전 단계에서 + 만들기 옵션을 선택한 경우 스키마 집합의 이름을 입력합니다.
검토 + 연결 페이지에서 추가를 선택합니다.
Azure SQL 데이터베이스의 모든 테이블 또는 선택한 테이블의 경우 커넥터는 스키마를 자동으로 검색하고 만들고 스키마 레지스트리에 등록합니다.
가운데에 있는 eventstream 노드를 선택하고 아래쪽 창에서 연결된 스키마 탭으로 전환합니다.
스키마 집합
업데이트된 eventstream 보기
편집 모드에서 이벤트 스트림에 추가된 Azure SQL Database(CDC) 원본을 볼 수 있습니다.
새로 추가된 Azure SQL Database CDC 원본을 구현하려면 게시를 선택합니다. 이러한 단계를 완료하면 Azure SQL Database CDC 원본을 라이브 보기에서 시각화할 수 있습니다.
스키마를 사용하도록 eventstream 대상 구성
현재 확장 기능(예: 스키마 지원)을 사용하도록 설정된 Eventstream에는 Eventhouse, 사용자 지정 엔드포인트 및 파생 스트림 대상만 지원됩니다. 이 섹션에서는 확장 기능(예: 스키마 지원)이 Eventstream에 사용하도록 설정된 경우 Eventhouse 대상을 추가하고 구성하는 방법을 보여 줍니다.
사용자 지정 엔드포인트 대상에 대한 스키마 구성
이벤트 변환을 선택하거나 대상을 추가한 다음 사용자 지정 엔드포인트를 선택합니다.
사용자 지정 엔드포인트 창에서 평소와 같이 대상의 이름을 지정합니다.
입력 스키마의 경우 이벤트에 대한 스키마를 선택합니다. 이 필드는 이벤트 스트림에 대한 스키마 지원을 사용하도록 설정할 때 입력하는 추가 필드입니다.
사용자 지정 엔드포인트 대상을 구성하는 방법에 대한 자세한 단계는 이벤트 스트림에 사용자 지정 엔드포인트 또는 사용자 지정 앱 대상 추가를 참조하세요.
Eventhouse 대상에 대한 스키마 구성
- 이벤트 변환을 선택하거나 대상을 추가한 다음, Eventhouse를 선택합니다.
-
Eventhouse 페이지에서 다음 스키마 관련 설정을 구성합니다.
입력 스키마의 경우 드롭다운 목록에서 하나 이상의 스키마를 선택합니다.
비고
Event Hubs 원본을 구성할 때 헤더 옵션을 통해 동적 스키마 를 선택한 경우 원본에 대해 여러 스키마를 구성하고 다른 속성 및 해당 값에 매핑했을 수 있습니다.
테이블 만들기 방법의 경우 요구 사항에 따라 옵션 중 하나를 선택합니다. 모든 스키마가 결합된 단일 테이블 또는 각 스키마에 대한 별도의 테이블.
데이터를 쓰기 위해 다음 옵션 중 하나를 선택합니다.
페이로드만: 추출된 페이로드 데이터를 테이블에 작성합니다. 여러 입력 스키마가 있는 경우 데이터는 여러 테이블로 전송됩니다.
메타데이터 및 페이로드: 메타데이터 및 페이로드 데이터를 단일 테이블에 씁니다. 예제 열:
source,subject,type,data등
Eventhouse 대상을 구성하는 방법에 대한 자세한 단계는 Eventstream에 Eventhouse 대상 추가를 참조하세요.
관련 콘텐츠
기타 커넥터:
