다음을 통해 공유


ODBC 제네릭 형식을 사용하여 외부 데이터에 액세스하도록 PolyBase 구성

적용 대상: SQL Server

SQL Server 2019에서 시작하는 PolyBase를 사용하면 ODBC 커넥터를 사용하여 ODBC 호환 데이터 원본에 연결할 수 있습니다.

이 문서에서는 ODBC 데이터 원본을 사용하여 연결을 구성하는 방법을 보여 줍니다. 제공된 참고 자료에서는 하나의 특정 ODBC 드라이버를 예로 사용합니다. 특정 예제는 ODBC 공급자에게 문의하세요. 데이터 원본에 대한 ODBC 드라이버 설명서를 참조하여 적절한 연결 문자열 옵션을 확인합니다. 이 문서의 예제는 특정 ODBC 드라이버에 적용되지 않을 수 있습니다.

필수 조건

참고 항목

이 기능을 사용하려면 Windows에서 SQL Server가 필요합니다.

  • SQL Server 인스턴스 PolyBase 설치를 위해 PolyBase를 설치하고 사용하도록 설정해야 합니다.

  • 데이터베이스 범위 지정 자격 증명을 만들기 전에 마스터 키를 만들어야 합니다.

ODBC 드라이버를 설치

각 PolyBase 노드에서 연결할 데이터 원본의 ODBC 드라이버를 다운로드하여 설치합니다. 드라이버가 제대로 설치되면 ODBC 데이터 원본 관리자에서 드라이버를 보고 테스트할 수 있습니다.

PolyBase 스케일 아웃 그룹

위의 예제에서 드라이버 이름은 빨간색 원으로 표시됩니다. 외부 데이터 원본을 만들 때 이 이름을 사용합니다.

Important

쿼리 성능을 향상시키려면 연결 풀링을 사용하도록 설정합니다. 이 작업은 ODBC 데이터 원본 관리자에서 수행할 수 있습니다.

SQL Server에서 종속 개체 만들기

ODBC 데이터 원본을 사용하려면 먼저 몇 가지 개체를 만들어 구성을 완료해야 합니다.

이 섹션에서는 다음 Transact-SQL 명령이 사용됩니다.

  1. ODBC 원본에 액세스하기 위한 데이터베이스 범위 자격 증명을 만듭니다.

    CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', Secret = '<password>';
    

    예를 들어 다음 예제에서는 ID username와 복잡한 비밀번호를 사용하여 credential_name이라고 명명된 자격 증명을 만듭니다.

    CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
    
  2. CREATE EXTERNAL DATA SOURCE를 사용하여 외부 데이터 원본을 만듭니다.

    CREATE EXTERNAL DATA SOURCE [<external_data_source_name>]
    WITH ( LOCATION = 'odbc://<ODBC server address>[:<port>]',
    CONNECTION_OPTIONS = 'Driver={<Name of Installed Driver>};
    ServerNode = <name of server  address>:<Port>',
    -- PUSHDOWN = [ON] | OFF,
    CREDENTIAL = [<credential_name>] );
    

    다음 예제에서는 외부 데이터 원본을 만듭니다.

    • external_data_source_name이라고 명명됨
    • ODBC SERVERNAME 및 포트 4444에 있음
    • CData ODBC Driver For SAP 2015 연결 - ODBC 드라이버 설치에서 만든 드라이버입니다.
    • ServerNode sap_server_node 포트 5555
    • 서버로 푸시되는 처리를 위해 구성됨(PUSHDOWN = ON)
    • credential_name 자격 증명 사용
    CREATE EXTERNAL DATA SOURCE external_data_source_name
    WITH ( LOCATION = 'odbc://SERVERNAME:4444',
    CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015};
    ServerNode = sap_server_node:5555',
    PUSHDOWN = ON,
    CREDENTIAL = credential_name );
    

외부 테이블 만들기

종속 개체를 만든 후에는 T-SQL을 사용하여 외부 테이블을 만들 수 있습니다.

이 섹션에서는 다음 Transact-SQL 명령이 사용됩니다.

  1. 하나 이상의 외부 테이블을 만듭니다.

    외부 테이블을 만듭니다. DATA_SOURCE 인수를 사용하여 위에서 만든 외부 데이터 원본을 참조하고 원본 테이블을 LOCATION로 지정해야 합니다. 모든 열을 참조할 필요는 없지만 형식이 올바르게 매핑되었는지 확인해야 합니다.

      CREATE EXTERNAL TABLE [<your_table_name>]
      (
      [<col1_name>]     DECIMAL(38) NOT NULL,
      [<col2_name>]     DECIMAL(38) NOT NULL,
      [<col3_name>]     CHAR COLLATE Latin1_General_BIN NOT NULL
      )
      WITH (
      LOCATION='<sap_table_name>',
      DATA_SOURCE= [<external_data_source_name>]
      )
      ;
    

    참고 항목

    이 외부 데이터 원본을 사용하여 모든 외부 테이블에 종속 개체를 다시 사용할 수 있습니다.

  2. 선택사항: 외부 테이블에 대한 통계를 만듭니다.

    최적의 쿼리 성능을 얻으려면 외부 테이블 열, 특히 조인, 필터 및 집계에 사용되는 열에 대한 통계를 만들 것이 좋습니다.

    CREATE STATISTICS statistics_name ON contact (FirstName) WITH FULLSCAN; 
    

다음 단계

PolyBase에 대한 자세한 내용은 SQL Server PolyBase 개요를 참조하세요.

다양한 데이터 원본에 외부 데이터 원본 및 외부 테이블을 만드는 방법에 대한 자세한 자습서는 PolyBase Transact-SQL 참조를 참조하세요.