Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: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), esta funcionalidade está disponível no Linux.
Este artigo demonstra como criar a configuração da conectividade usando uma fonte de dados ODBC. As orientações fornecidas usam um driver ODBC específico como exemplo. Consulte seu provedor ODBC para obter exemplos específicos. Consulte a documentação do driver ODBC para 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 versões anteriores, esse recurso requer o SQL Server no Windows.
O PolyBase deve ser instalado e habilitado para sua instância do SQL Server instalação do PolyBase.
Antes de criar uma credencial com escopo de banco de dados, você deve criar uma chave mestra.
Instale o driver ODBC
Siga as instruções de instalação do seu sistema operativo.
O SQL Server 2025 (17.x) utiliza por defeito o Microsoft ODBC Driver versão 18 para SQL Server, para fontes de dados PolyBase sqlserver . Este driver suporta 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 no servidor.
Para obter mais informações sobre o Microsoft ODBC Driver versão 18 para SQL Server, consulte:
- Transferir o Controlador ODBC para SQL Server
- ODBC Driver 18.0 para SQL Server lançado | Hub da Comunidade Microsoft
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. Assim que o driver estiver instalado corretamente, pode visualizar e testar o driver a partir do Administrador de Origem de Dados ODBC .
No exemplo anterior, o nome do condutor está rodeado a vermelho. Use esse nome ao criar a fonte de dados externa.
Importante
Para melhorar o desempenho da consulta, habilite o pool de conexões. Isso pode ser feito a partir do Administrador de Origem de Dados ODBC.
Criar objetos dependentes no SQL Server
Para usar a fonte de dados ODBC, você deve primeiro criar alguns objetos para concluir a configuração.
Os seguintes comandos Transact-SQL são usados nesta seção:
Crie uma credencial com escopo de 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 com 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 exemplo a seguir cria uma fonte de dados externa:
- Nomeado
external_data_source_name - Localizado no ODBC
SERVERNAMEe na porta4444 - Conectando-se com o
CData ODBC Driver For SAP 2015- Este é o driver criado em Instalar o driver ODBC - Na porta
ServerNodesap_server_node5555 - Configurado para processamento delegado ao servidor (
PUSHDOWN = ON) - Usando 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 );- Nomeado
Criar uma tabela externa
Depois de criar os objetos dependentes, você pode criar uma tabela externa usando 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 fazer referência à 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
Observação 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 um desempenho de consulta ideal, recomendamos a criação de 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;