Compartilhar via


Conectar-se a fontes de dados ODBC com o PolyBase no SQL Server no Linux

Aplica-se a: SQL Server 2025 (17.x)

Este artigo descreve como você pode usar os serviços do PolyBase com o SQL Server no Linux.

A partir do SQL Server 2025 (17.x), as implantações no Linux podem usar fontes de dados ODBC para o PolyBase. Isso permite que você traga seu próprio driver (BYOD). No Linux, esse recurso funciona da mesma forma que funciona no Windows. Para obter mais informações, consulte Configurar o PolyBase para acessar dados externos com tipos genéricos ODBC.

Cuidado

O modelo BYOD (traga seu próprio driver) envolve riscos que são de responsabilidade do cliente e do provedor de driver. A Microsoft não é responsável por nenhum problema que o driver de terceiros possa causar.

Exemplos

Instalar no Linux

O exemplo a seguir demonstra o driver ODBC do SQL no Ubuntu.

  1. Adicione o repositório da Microsoft:

    1. Importar a chave de GPG da Microsoft

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Adicionar o repositório da Microsoft ao seu sistema

      curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  2. Atualizar a lista de pacotes

    sudo apt update
    
  3. Instalar o Driver ODBC

    Instale a versão mais recente do driver ODBC. O exemplo a seguir instala a versão 18.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

A instalação cria os seguintes arquivos:

Arquivo Descrição
/etc/odbcinst.ini Nome do driver, descrição e informações de versão.
/etc/odbc.ini Nome DNS, criptografia e outras especificações.

Você precisa criar o odbc.ini arquivo com base nas propriedades e especificações do driver. Vários drivers compartilham o mesmo odbc.ini e odbcinst.ini arquivos, com várias entradas.

Arquivos de exemplo

Exemplo odbc.ini

Neste exemplo, driver_name deve corresponder ao nome de odbcinst.ini.

[MyDSN]
Driver = driver_name
Server = your_server_name
Database = your_database_name
Trusted_Connection = yes

Exemplo do Sybase odbcinst.ini

[ODBC Drivers]
Devart ODBC Driver for ASE=installed
[Devart ODBC Driver for ASE]
Driver=/usr/share/devart/odbcase/libdevartodbcase.3.5.0.so

Exemplo do Sybase odbc.ini

[ODBC Data Sources]
DEVART_ASE=Devart ODBC Driver for ASE
[DEVART_ASE]
Driver=Devart ODBC Driver for ASE
Data Source=database_server_ip
Port=5000
Database=master
QuotedIdentifier=1

Para obter a lista completa de parâmetros com suporte, verifique a documentação do provedor do driver.

Consultas de exemplo

Depois que a instalação do driver for concluída, você poderá usar a credencial com escopo de banco de dados, a fonte de dados externa e outros recursos do PolyBase.

Por exemplo:

CREATE DATABASE SCOPED CREDENTIAL dsc_Sybase
    WITH IDENTITY = '<user>', SECRET = '<password>';
GO

CREATE EXTERNAL DATA SOURCE EDS_Sybase
WITH (
    LOCATION = 'odbc://<servername>:<port>',
    PUSHDOWN = ON, --- optional
    CONNECTION_OPTIONS = 'DSN=DEVART_ASE;DRIVER=Devart ODBC Driver for ASE',
    CREDENTIAL = dsc_Sybase
);
GO

CREATE EXTERNAL TABLE T_EXT
(
    C1 INT
)
WITH (
    DATA_SOURCE = [EDS_SYBASE],
    LOCATION = N'TEST.DBO.T'
);
GO

SELECT * FROM T_EXT;
GO

Limitações

O PolyBase para SQL Server no Linux usa um serviço externo para isolar e carregar os drivers com segurança. Esse serviço é iniciado por padrão quando o pacote PolyBase (mssql-server-polybase) é instalado.

O serviço usa o número 25100da porta padrão. Se essa porta estiver em uso, ela falhará com a seguinte mensagem:

Failed to bind port "127.0.0.1:25100"

Você pode encontrar essa mensagem no arquivo de log do PolyBase, localizado em: /var/opt/mssql-polybase-ees/log/. No SQL Server 2025 (17.x) e versões posteriores, o local foi movido para /var/opt/mssql/log/polybase-ees-log.

  • Instalar o PolyBase no Linux