Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
O PolyBase a partir do SQL Server 2019 permite que você se conecte a fontes de dados compatíveis com ODBC usando o conector ODBC. A partir do SQL Server 2025 (17.x), esse recurso está disponível no Linux.
Este artigo demonstra como criar conectividade de configuração usando uma fonte de dados ODBC. As diretrizes fornecidas usam um driver ODBC específico como exemplo. Confira se há exemplos específicos com seu provedor ODBC. Confira a documentação do driver ODBC da sua fonte de dados para determinar as opções de cadeia de conexão apropriadas. Os exemplos neste artigo podem não se aplicar a nenhum driver ODBC específico.
Pré-requisitos
Observação
No SQL Server 2022 (16.x) e nas versões anteriores, esse recurso requer o SQL Server no Windows.
É necessário instalar e habilitar o PolyBase para a instalação do PolyBase da sua instância do SQL Server.
Antes de criar uma credencial com escopo de banco de dados, você deve criar uma chave mestra.
Instalar o driver ODBC
Siga as instruções de instalação do seu sistema operativo.
O SQL Server 2025 (17.x) usa como padrão o Microsoft ODBC Driver versão 18 para SQL Server, para fontes de dados do PolyBase sqlserver . Esse driver dá suporte ao TDS 8.0 e inclui várias atualizações, recursos e algumas alterações significativas. Para usar o TDS 8.0, você deve usar uma nova opção de criptografia e instalar um certificado confiável em seu servidor.
Para obter mais informações sobre o Microsoft ODBC Driver versão 18 para SQL Server, consulte:
- Baixar o driver ODBC para SQL Server
- ODBC Driver 18.0 para SQL Server lançado | Microsoft Community Hub
Para obter mais informações sobre o suporte ao SQL Server TDS 8.0, consulte TDS 8.0.
Baixe e instale o driver ODBC da fonte de dados à qual você deseja se conectar em cada um dos nós do PolyBase. Depois que o driver estiver instalado corretamente, você poderá ver e testar o driver em Administrador da Fonte de Dados ODBC.
No exemplo anterior, o nome do driver é destacado em vermelho. Use esse nome quando criar a fonte de dados externa.
Importante
Para aprimorar o desempenho da consulta, habilite o pool de conexões. Isso pode ser feito em Administrador da Fonte de Dados ODBC.
Criar objetos dependentes no SQL Server
Para usar a fonte de dados ODBC, primeiro você deve criar alguns objetos para concluir a configuração.
Os seguintes comandos Transact-SQL são usados nesta seção:
Crie uma credencial no escopo do banco de dados para acessar a fonte ODBC.
CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', SECRET = '<password>';Por exemplo, o exemplo a seguir cria uma credencial chamada
credential_name, com uma identidade deusername. Substitua<password>por uma senha complexa.CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', SECRET = '<password>';Crie uma fonte de dados externa, usando 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>] );O seguinte exemplo cria uma fonte de dados externa:
- Chamada
external_data_source_name - Localizada no
SERVERNAMEdo ODBC e na porta4444 - Conectando-se com
CData ODBC Driver For SAP 2015– Este é o driver criado em Instalar o driver ODBC - No
ServerNodesap_server_nodeporta5555 - Configurada para processar a propagação para os níveis interiores do servidor (
PUSHDOWN = ON) - Usar a credencial
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 );- Chamada
Criar uma tabela externa
Depois de criar os objetos dependentes, você poderá criar tabelas externas usando o T-SQL.
Os seguintes comandos Transact-SQL são usados nesta seção:
Crie uma ou mais tabelas externas.
Crie uma tabela externa. Você precisa referenciar a fonte de dados externa criada anteriormente usando o
DATA_SOURCEargumento e especificar a tabela de origem como .LOCATIONVocê não precisa fazer referência a todas as colunas, mas precisa garantir que os tipos sejam mapeados corretamente.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>' );Observação
Observe que você pode reutilizar os objetos dependentes para todas as tabelas externas usando essa fonte de dados externa.
Opcional: criar estatísticas em uma tabela externa.
Para obter desempenho de consulta ideal, é recomendável criar estatísticas em colunas de tabelas externas, especialmente aquelas usadas para junções, filtros e agregações.
CREATE STATISTICS statistics_name ON contact(FirstName) WITH FULLSCAN;