Condividi tramite


Configurare PolyBase per l'accesso a dati esterni con i tipi generici ODBC

Si applica a:SQL Server

PolyBase a partire da SQL Server 2019 consente di connettersi alle origini dati compatibili con ODBC tramite il connettore ODBC. A partire da SQL Server 2025 (17.x) Preview, questa funzionalità è disponibile in Linux.

Questo articolo illustra come creare la connettività per la configurazione usando un'origine dati ODBC. Le indicazioni fornite usano un driver ODBC specifico come esempio. Per esempi specifici, rivolgersi al provider ODBC. Per determinare le opzioni appropriate per la stringa di connessione, vedere la documentazione del driver ODBC per l'origine dati. Gli esempi in questo articolo potrebbero non essere applicabili ad alcun driver ODBC specifico.

Prerequisiti

Nota

In SQL Server 2022 (16.x) e nelle versioni precedenti, questa funzionalità richiede SQL Server in Windows.

  • È necessario installare e abilitare PolyBase per l'istanza installazione di PolyBase di SQL Server.

  • Prima di creare credenziali con ambito database, è necessario creare una chiave master.

Installare il driver ODBC

Seguire le istruzioni di installazione per il sistema operativo.

Per impostazione predefinita, SQL Server 2025 (17.x) Preview utilizza Microsoft ODBC Driver versione 18 per SQL Server per le origini dati PolyBase sqlserver. Questo driver supporta TDS 8.0 e include vari aggiornamenti, funzionalità e alcune modifiche di rilievo. Per usare TDS 8.0, è necessario usare una nuova opzione di crittografia e installare un certificato attendibile nel server.

Per altre informazioni su Microsoft ODBC Driver versione 18 per SQL Server, vedere:

Per altre informazioni sul supporto di SQL Server TDS 8.0, vedere TDS 8.0.

Scaricare e installare il driver ODBC dell'origine dati a cui ci si vuole connettere in ogni nodo PolyBase. Una volta installato correttamente il driver, è possibile visualizzare e testare il driver da Amministratore origine dati ODBC.

Screenshot dei gruppi con scalabilità orizzontale PolyBase.

Nell'esempio precedente il nome del driver viene cerchiato in rosso. Usare questo nome quando si crea l'origine dati esterna.

Importante

Per migliorare le prestazioni delle query, abilitare il pool di connessioni. Questa operazione può essere eseguita da Amministratore origine dati ODBC.

Creare oggetti dipendenti in SQL Server

Per usare l'origine dati ODBC, è prima necessario creare alcuni oggetti per completare la configurazione.

In questa sezione vengono usati i comandi Transact-SQL seguenti:

  1. Creare una credenziale con ambito specifico al database per l'accesso all'origine ODBC.

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

    L'esempio seguente, ad esempio, crea una credenziale denominata credential_name, con un'identità di username. Sostituire <password> con una password complessa.

    CREATE DATABASE SCOPED CREDENTIAL credential_name
        WITH IDENTITY = 'username', SECRET = '<password>';
    
  2. Creare un'origine dati esterna con 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>]
    );
    

    L'esempio seguente crea un'origine dati esterna:

    • Denominata external_data_source_name
    • Situata nell'ODBC SERVERNAME e sulla porta 4444
    • Connessione con CData ODBC Driver For SAP 2015 - Questo è il driver creato sotto Installare il driver ODBC
    • Sulla porta ServerNodesap_server_node5555
    • Configurata per l'elaborazione propagata al server (PUSHDOWN = ON)
    • Usando la credenziale credential_name
    CREATE EXTERNAL DATA SOURCE external_data_source_name
    WITH (
        LOCATION = 'odbc://SERVERNAME:4444',
        PUSHDOWN = ON,
        CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015};
            ServerNode = sap_server_node:5555',
        CREDENTIAL = credential_name
    );
    

Creare una tabella esterna

Dopo avere creato gli oggetti dipendenti, è possibile creare tabelle esterne con T-SQL.

In questa sezione vengono usati i comandi Transact-SQL seguenti:

  1. Creare una o più tabelle esterne.

    Creare una tabella esterna. È necessario fare riferimento all'origine dati esterna creata in precedenza usando l'argomento DATA_SOURCE e specificare la tabella di origine come LOCATION. Non è necessario fare riferimento a tutte le colonne, ma è necessario assicurarsi che i tipi siano mappati correttamente.

    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 (
        DATA_SOURCE = [<external_data_source_name>],
        LOCATION = '<sap_table_name>'
    );
    

    Nota

    Si noti che è possibile riutilizzare gli oggetti dipendenti per tutte le tabelle esterne usando questa origine dati esterna.

  2. Facoltativo: Creare statistiche per una tabella esterna.

    Per garantire prestazioni ottimali delle query, è consigliabile creare le statistiche sulle colonne delle tabelle esterne, in particolare quelle usate per join, filtri e aggregazioni.

    CREATE STATISTICS statistics_name ON contact(FirstName) WITH FULLSCAN;