Openflow Connector for SQL Server 정보

참고

이 커넥터에는 `Snowflake Connector 약관<https://www.snowflake.com/legal/snowflake-connector-terms/>`_이 적용됩니다.

이 항목에서는 |Sqlserver|의 기본 개념, 워크플로 및 제한 사항에 대해 설명합니다.

|Sqlserver|를 통해 단일 SQL Server 인스턴스의 여러 SQL Server 데이터베이스를 Snowflake 데이터베이스에 연결하고, 거의 실시간으로 또는 지정된 일정에 따라 데이터를 복제합니다.

커넥터는 포괄적인 중앙 집중식 보고를 위해 Snowflake를 사용하여 Microsoft CDC Server의 SQL 복제를 수행합니다.

워크플로

다음 워크플로에서는 |Sqlserver|를 설정하고 실행하는 단계를 간략하게 설명합니다.

  1. SQL 서버 데이터베이스 관리자는 다음 작업을 수행합니다.

    1. SQL Server 복제 설정을 구성하고 복제되는 데이터베이스 및 테이블에 대한 변경 추적을 활성화합니다.

    2. 커넥터에 대한 자격 증명을 생성합니다.

    3. (선택 사항) SSL을 통해 SQL Server 인스턴스에 연결하기 위한 SSL 인증서를 제공합니다.

  2. Snowflake 계정 관리자는 다음 작업을 수행합니다.

    1. 커넥터에 대한 서비스 사용자, 복제된 데이터를 저장할 대상 데이터베이스, 커넥터에 대한 웨어하우스를 생성합니다.

    2. 커넥터를 설치합니다.

    3. 커넥터 플로우 정의의 필수 매개 변수를 지정합니다.

    4. 흐름을 실행합니다.

커넥터는 Openflow에서 실행될 때 다음을 수행합니다.

  1. 복제를 위해 구성된 소스 테이블과 일치하는 스키마 및 대상 테이블을 생성합니다.

  2. 테이블 복제 수명 주기에 따라 복제를 시작합니다.

    자세한 내용은 테이블이 복제되는 방법 섹션을 참조하십시오.

여러 SQL Server 데이터베이스의 테이블에서 데이터 복제하기

커넥터는 단일 SQL Server 인스턴스의 여러 SQL Server 데이터베이스에서 테이블 복제를 지원합니다. 커넥터는 대상 Snowflake 데이터베이스의 별도 스키마에 있는 다른 데이터베이스에서 복제된 테이블을 생성합니다.

소스 데이터베이스 이름, 소스 스키마 이름, 테이블 이름을 다음 형식으로 결합하여 복제된 테이블을 참조합니다.

<database_name>.<schema_name>.<table_name>

복제되는 각 소스 데이터베이스의 각 스키마에 대해 커넥터는 대상 Snowflake 데이터베이스에 별도의 스키마를 생성합니다. 대상 스키마의 이름은 소스 데이터베이스 이름과 소스 스키마 이름의 조합으로, 다음 예제와 같이 밑줄 문자(_)로 구분됩니다.

<source_database_name>_<source_schema_name>

커넥터는 다음 예제와 같이 소스 테이블 이름과 동일한 이름으로 대상 스키마에 테이블을 생성합니다.

<destination_database>_<destination_schema_name>.<source_table_name>

테이블이 복제되는 방법

커넥터는 다음 스테이지에서 테이블을 복제합니다.

  1. 스키마 검사: 커넥터는 열 이름과 유형을 포함하여 소스 테이블의 열을 검색한 후 Snowflake 및 커넥터의 제한 사항에 따라 열의 유효성을 검사합니다. 유효성 검사에 실패하면 이 스테이지가 실패하고 사이클이 완료됩니다. 이 스테이지가 성공적으로 완료되면 커넥터는 빈 대상 테이블을 생성합니다.

  2. 스냅샷 로딩: 커넥터는 소스 테이블에서 사용 가능한 모든 데이터를 대상 테이블에 복사합니다. 이 스테이지에 실패하면 커넥터가 데이터 복제를 중지합니다. 성공적으로 완료되면 소스 테이블의 데이터를 대상 테이블에서 사용할 수 있습니다.

  3. 증분 로딩: 커넥터는 소스 테이블의 변경 사항을 추적하고 해당 변경 사항을 대상 테이블에 적용합니다. 이 프로세스는 테이블이 복제에서 제거될 때까지 계속됩니다. 이 스테이지에서 실패하면 문제가 해결될 때까지 소스 테이블의 복제가 영구적으로 중지됩니다.

    스냅샷 로드 우회 및 증분 로드 프로세스 사용에 대한 내용은 :doc:`증분 복제<incremental-replication>`를 참조하세요.

참고

연결 오류와 같은 중간 장애가 발생해도 테이블 복제가 수행됩니다. 그러나 영구적인 오류(예: 지원되지 않는 데이터 타입)가 발생하면 테이블이 복제되지 않습니다. 영구 장애로 인해 테이블을 복제할 수 없는 경우 복제할 테이블 목록에서 해당 테이블을 제거합니다. 장애를 일으킨 문제를 해결한 후 복제할 테이블 목록에 테이블을 다시 추가할 수 있습니다.

지원되는 SQL 서버 버전

다음 테이블에는 테스트를 거쳐 공식적으로 지원되는 SQL 서버 버전이 나열되어 있습니다.

플랫폼

서비스 및 버전

에디션 및 티어

지원됨

온프레미스

Microsoft SQL Server 2022

Developer, Enterprise, Standard

✔ 지원

Microsoft SQL Server 2019

Developer, Enterprise, Standard

✔ 지원

Microsoft SQL Server 2017

Developer, Enterprise, Standard

✔ 지원

Microsoft SQL Server 2016

Developer, Enterprise, Standard

✔ 지원

Microsoft SQL Server 2014

모두

테스트되지 않음

Microsoft SQL Server 2012

모두

테스트되지 않음

Azure

`Azure SQL Database<https://learn.microsoft.com/azure/azure-sql/database/?view=azuresql>`_

모든 인스턴스 유형

아직 지원되지 않음

`Azure SQL Managed Instance<https://learn.microsoft.com/azure/azure-sql/managed-instance/?view=azuresql>`_

모든 인스턴스 유형

✔ 지원

Azure VM의 SQL Server

모두

테스트되지 않음

AWS

`SQL Server용 AWS RDS<https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html>`_

모든 인스턴스 유형

✔ 지원

Amazon EC2용 SQL Server

모두

✔ 지원

Google Cloud

SQL Server용 Google Cloud SQL

모두

테스트되지 않음

Openflow 요구사항

  • 런타임 크기는 중간 이상이어야 합니다. 대용량 데이터를 복제할 때는, 특히 행 크기가 클 경우 더 큰 런타임을 사용합니다.

  • 해당 커넥터는 다중 노드 Openflow 런타임을 지원하지 않습니다. 이 커넥터의 런타임을 구성할 때 Min nodes 및 :ui:`Max nodes`를 ``1``로 설정합니다.

제한 사항

  • 단일 런타임 인스턴스에서 동일한 유형의 여러 커넥터를 실행할 수 없습니다.

  • 커넥터는 SQL 서버를 통한 사용자 이름 및 비밀번호 인증만 지원합니다.

  • 커넥터는 Snowflake에서 지원하는 데이터 타입을 가진 테이블만 복제합니다. 이러한 데이터 타입의 목록은 데이터 타입 요약 섹션을 참조하십시오.

  • 커넥터는 기본 키가 포함된 데이터베이스 테이블만 복제합니다.

  • 기본값이 있는 새 NOT NULL 열이 소스 데이터베이스에 추가될 때 커넥터는 Snowflake 데이터베이스의 기존 레코드를 업데이트하지 않습니다.

  • 커넥터는 열 필터 JSON 에 포함된 목록에 새 열이 추가될 때 Snowflake 데이터베이스의 기존 레코드를 업데이트하지 않습니다.

  • 소스 데이터베이스 중 하나에서 열을 삭제한 후 동일한 이름으로 다시 추가하면 추가 삭제로 인해 오류가 발생합니다.

  • 열 필터 JSON에 열을 포함한 후 제외하고 추가로 포함하려고 시도하면 오류가 발생합니다.

  • 커넥터는 기본 키 정의 변경, 전체 자릿수 변경 또는 숫자 열의 소수 자릿수 변경을 제외한 소스 테이블 스키마 변경을 지원합니다.

  • 커넥터는 테이블 잘라내기 작업을 지원하지 않습니다.

  • 커넥터는 삭제된 열을 다시 추가하는 기능을 지원하지 않습니다.

참고

특정 테이블 열에 영향을 미치는 제한은 이러한 특정 열을 복제에서 제외하여 우회할 수 있습니다.

다음 단계

Openflow Connector for SQL Server 설정