Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
- Scaricare ODBC Driver for SQL Server
- ODBC Driver 18.0 per SQL Server rilasciato | Microsoft Community Hub
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.
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:
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à diusername
. Sostituire<password>
con una password complessa.CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', SECRET = '<password>';
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 porta4444
- Connessione con
CData ODBC Driver For SAP 2015
- Questo è il driver creato sotto Installare il driver ODBC - Sulla porta
ServerNode
sap_server_node
5555
- 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 );
- Denominata
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:
- CREATE EXTERNAL TABLE (Crea tabella esterna)
- CREATE STATISTICS
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 comeLOCATION
. 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.
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;