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 a: SQL Server
Banco de dados SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
O PolyBase habilita a virtualização de dados para o SQL Server.
O que é o PolyBase?
O PolyBase permite que sua instância do SQL Server consulte dados com Transact-SQL (T-SQL) diretamente do SQL Server, Oracle, Teradata, MongoDB, clusters Hadoop, Cosmos DB e armazenamento de objetos compatíveis com S3 sem instalar separadamente o software de conexão do cliente. Você também pode usar o conector ODBC genérico para se conectar a provedores adicionais usando drivers ODBC de terceiros. O PolyBase permite que as consultas T-SQL ingressem os dados de fontes externas em tabelas relacionais em uma instância do SQL Server.
O PolyBase também dá suporte à consulta de formatos de dados semiestruturados e estruturados baseados em arquivo, como arquivos CSV, Parquet, JSON e Delta Lake. Isso permite a integração perfeita de dados baseados em arquivo em seus fluxos de trabalho T-SQL.
Um caso de uso importante para a virtualização de dados com o recurso PolyBase é permitir que os dados permaneçam em seu local e formato originais. É possível virtualizar os dados em uma instância do SQL Server para que ela possa ser consultada no local como qualquer outra tabela no SQL Server. Este processo minimiza a necessidade de processos de ETL para movimentação de dados. Este cenário de virtualização de dados é possível com o uso de conectores do PolyBase.
Produtos e serviços SQL compatíveis
O PolyBase fornece essas mesmas funcionalidades para os seguintes produtos SQL da Microsoft:
SQL Server 2016 (13.x) e versões posteriores (Windows)
SQL Server 2019 (15.x) e versões posteriores (Windows e Linux)
Instância Gerenciada de SQL do Azure, para obter detalhes, examine a virtualização de dados com a Instância Gerenciada de SQL do Azure
Banco de Dados SQL do Azure, para obter detalhes, examine a virtualização de dados com o Banco de Dados SQL do Azure (versão prévia)
PDW (SQL Server Analytics Platform System)
Azure Synapse Analytics (para pools de SQL dedicados)
- A virtualização de dados no Azure Synapse Analytics está disponível em dois modos, PolyBase e nativo. Para obter mais informações, consulte Usar tabelas externas com SQL do Synapse.
Aprimoramentos do PolyBase do SQL Server 2025
| Novo no SQL Server 2025 (17.x) | Detalhes |
|---|---|
| Suporte nativo para CSV, Parquet e Delta 1 | A instalação do Serviço de Consulta do PolyBase para Dados Externos não é mais necessária para usar OPENROWSET, CREATE EXTERNAL TABLEou CREATE EXTERNAL TABLE AS SELECT com os seguintes tipos de dados externos: Parquet, Delta, ABS (Armazenamento de Blobs do Azure), ADLS (Azure Data Lake Storage) ou armazenamento de objetos S3-Compatible. |
| Usar fontes de dados ODBC genéricas no Linux | Para obter mais informações, consulte Configurar o PolyBase para acessar dados externos com tipos genéricos ODBC. |
| Suporte ao TDS 8.0 | O PolyBase usa uma configuração segura por padrão com o Driver ODBC para SQL Server versão 18 e Encrypt=Yes (Obrigatório). Ao contrário de outros recursos do SQL Server, o PolyBase permite cenários TrustServerCertificate=True de certificado autoassinado. Para impor o TLS 1.3 e a criptografia estrita com o TDS 8.0, defina Encrypt=Strict e TrustServerCertificate=No. Para obter mais informações, consulte CREATE EXTERNAL DATA SOURCE – CONNECTION_OPTIONS. Examine alterações significativas nos recursos do Mecanismo de Banco de Dados no SQL Server 2025. |
| Identidade Gerenciada | A Identidade Gerenciada está disponível para o SQL Server habilitado pelo Azure Arc e pelo SQL Server 2025 em VMs do Azure. |
1 No SQL Server 2025 (17.x), o Serviço de Consulta do PolyBase para Dados Externos ainda é necessário para se conectar a outros bancos de dados. Por exemplo: SQL Server, Oracle, DB2, Teradata, MongoDB ou ODBC.
Aprimoramentos do PolyBase no SQL Server 2022
| Novidades no SQL Server 2022 (16.x) | Detalhes |
|---|---|
| Armazenamento de objetos compatível com S3 | O SQL Server 2022 (16.x) adiciona um novo conector, armazenamento de objetos compatível com S3, usando a API REST do S3. Você pode usar OPENROWSET e CREATE EXTERNAL TABLE para consultar arquivos de dados no armazenamento de objetos compatível com S3. |
| Alguns conectores são separados dos serviços do PolyBase | O conector de armazenamento de objetos compatível com S3, o ADSL Gen2 e o Armazenamento de Blobs do Azure não são mais dependentes dos serviços do PolyBase. Os serviços do PolyBase ainda devem ser executados para dar suporte à conectividade com Oracle, Teradata, MongoDB e ODBC Genérico. O recurso PolyBase ainda precisa ser instalado em sua instância do SQL Server. |
| Formato de arquivo Parquet | O PolyBase agora é capaz de consultar dados de arquivos Parquet armazenados no armazenamento de objetos compatível com S3. Para obter mais informações, consulte Virtualizar o arquivo Parquet em um armazenamento de objetos compatível com S3 usando o PolyBase. |
| Formato de tabela delta | O PolyBase agora é capaz de consultar dados (somente leitura) do formato de tabela delta armazenados no armazenamento de objetos compatível com S3, no Azure Storage Account V2 e no Azure Data Lake Storage Gen2. Para obter mais informações, consulte virtualizar a tabela delta com o PolyBase |
| Criar tabela externa como SELECT (CETAS) | O PolyBase agora pode usar o CETAS para criar uma tabela externa e exportar, em paralelo, o resultado de uma instrução Transact-SQL SELECT para o Azure Data Lake Storage Gen2, a Conta de Armazenamento do Azure V2 e o armazenamento de objetos compatíveis com S3. Para obter mais informações, consulte CREATE EXTERNAL TABLE AS SELECT (CETAS). |
Para obter mais novos recursos do SQL Server 2022 (16.x), confira as novidades no SQL Server 2022.
Dica
Para obter um tutorial dos recursos e capacidades do PolyBase no SQL Server 2022 (16.x), consulte Introdução ao PolyBase no SQL Server 2022.
Conectores do PolyBase
O recurso PolyBase fornece conectividade com as seguintes fontes de dados externas:
| Fontes de dados externas | SQL Server 2016–2019 com PolyBase | SQL Server 2022 (16.x) com PolyBase | APS PDW | Azure Synapse Analytics |
|---|---|---|---|---|
| Oracle, MongoDB, Teradata | Ler | Ler | Não | Não |
| ODBC Genérico | Leitura (apenas Windows) | Leitura (apenas Windows) | Não | Não |
| Armazenamento do Azure | Leitura/Gravação | Leitura/Gravação | Leitura/Gravação | Leitura/Gravação |
| O Hadoop | Leitura/Gravação | Não | Leitura/Gravação | Não |
| SQL Server | Ler | Ler | Não | Não |
| Armazenamento de objetos compatível com S3 | Não | Leitura/Gravação | Não | Não |
- O SQL Server 2022 (16.x) e versões posteriores não dão suporte ao Hadoop.
- O SQL Server 2016 (13.x) introduziu o PolyBase com compatibilidade com conexões com o Hadoop e o Armazenamento de Blobs do Azure.
- O SQL Server 2019 (15.x) introduziu mais conectores, incluindo SQL Server, Oracle, Teradata e MongoDB.
- O SQL Server 2022 (16.x) introduziu o conector do armazenamento compatível com S3.
- A atualização cumulativa 19 do SQL Server 2019 (15.x) introduziu compatibilidade com o TNS do Oracle.
- A atualização cumulativa 2 do SQL Server 2022 (16.x) introduziu compatibilidade com o TNS do Oracle.
Entre os exemplos de conectores externos estão:
1 O PolyBase dá suporte a dois provedores hadoop, a Hortonworks Data Platform (HDP) e a CDH (Cloudera Distributed Hadoop), por meio do SQL Server 2019. O suporte do SQL Server para fontes de dados externas do HDFS Cloudera (CDP) e hortonworks (HDP) foi desativado e não está incluído no SQL Server 2022 (16.x) e nas versões posteriores. Para obter mais informações, confira Opções de Big Data na plataforma Microsoft SQL Server.
Para usar o PolyBase em uma instância do SQL Server:
- Instalar PolyBase no Windows ou Instalar PolyBase no Linux.
- Começando com o SQL Server 2019 (15.x), habilite o PolyBase em sp_configure, se necessário.
- Crie uma fonte de dados externa.
- Crie uma tabela externa.
Integração do Azure
Com a Ajuda subjacente do PolyBase, consultas T-SQL também podem importar e exportar dados do Armazenamento de Blobs do Azure. Além disso, o PolyBase permite que o Azure Synapse Analytics importe e exporte dados do Armazenamento de Blobs do Azure e do Azure Data Lake Store.
Por que usar o PolyBase?
O PolyBase permite unir dados de uma instância do SQL Server com dados externos. Antes do PolyBase permitir a junção de dados a fontes de dados externas, você poderia:
- Transferir metade dos dados para que todos os dados estejam em uma só localização.
- Consultar ambas as fontes de dados, então escrever lógica de consulta personalizada para ingressar e integrar os dados no nível do cliente.
O PolyBase permite que você use Transact-SQL para unir os dados.
O PolyBase não exige que você instale software extra em seu ambiente do Hadoop. Você pode consultar dados externos usando a mesma sintaxe do T-SQL usada para consultar uma tabela de banco de dados. As ações de suporte implementadas pelo PolyBase todos ocorrem de maneira transparente. O autor da consulta não precisa de nenhum conhecimento sobre a fonte externa.
Usos do PolyBase
O PolyBase habilita os seguintes cenários no SQL Server:
- Acesso a dados contínuos: Consulte outros RDBMs ou arquivos externos, como tabelas CSV, Parquet e Delta Lake usando T-SQL como se fossem tabelas nativas.
- Desativar o carregamento de dados frios: Mantendo-o facilmente acessível.
- Produtividade aprimorada: Reduza o tempo e o esforço necessários para integrar e analisar dados de várias fontes.
- Eficiência de custo: Minimize a necessidade de replicação de dados e custos de armazenamento associados aos métodos tradicionais de integração de dados.
- Insights em tempo real: Habilite consultas e insights de dados em tempo real sem atrasos causados pela movimentação ou sincronização de dados.
- Segurança: Use os recursos de segurança do SQL Server para permissões granulares, gerenciamento de credenciais e controle.
Desempenho
Não há um limite fixo para o número de arquivos ou a quantidade de dados que podem ser consultados. O desempenho da consulta depende da quantidade de dados, do formato dos dados, da maneira como os dados estão organizados e da complexidade das consultas e uniões.
Para obter mais informações sobre diretrizes e recomendações de desempenho para o PolyBase, consulte Considerações sobre desempenho no PolyBase para SQL Server.
Atualizar para o SQL Server 2022
A partir do SQL Server 2022 (16.x), o Hortonworks Data Platform (HDP) e o Cloudera Distributed Hadoop (CDH) não são mais compatíveis. Devido a essas alterações, você deve remover manualmente as fontes de dados externas do PolyBase criadas em versões anteriores do SQL Server que usam TYPE = HADOOP ou o Armazenamento do Azure antes de migrar para o SQL Server 2022 (16.x) ou posterior. O descarte de fontes de dados externas também requer o descarte dos objetos de banco de dados associados, como credenciais com escopo de banco de dados e tabelas externas.
Os conectores do Armazenamento do Azure devem ser alterados com base na tabela de referência a seguir:
| Fonte de dados externa | De | Para |
|---|---|---|
| Armazenamento de Blobs do Azure | wasb[s] |
abs |
| ADLS Gen 2 | abfs[s] |
adls |
Introdução
Antes de usar o PolyBase, você deverá instalar o PolyBase no Windows ou instalar o PolyBase no Linux e habilitar o PolyBase no sp_configure, se necessário.
Para obter um tutorial dos recursos e capacidades do PolyBase, consulte Introdução ao PolyBase no SQL Server 2022.
Para obter mais tutoriais sobre várias fontes de dados externas, consulte:
- Hadoop
- Armazenamento de Blobs do Azure
- SQL Server
- Oráculo
- Teradata
- MongoDB
- Tipos genéricos ODBC
- Armazenamento de objetos compatível com S3
- Arquivo CSV
- Arquivo Parquet
- Tabela Delta
Virtualização de dados em outras plataformas
Recursos de virtualização de dados também estão disponíveis em outras plataformas:
- Use tabelas externas com SQL do Synapse.
- Virtualização de dados com Instância Gerenciada de SQL do Azure
- Virtualização de dados com o Banco de Dados SQL do Azure (versão prévia)
Conteúdo relacionado
- Introdução ao PolyBase no SQL Server 2022
- CONJUNTO ABERTO (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CETAS (CREATE EXTERNAL TABLE AS SELECT) (Transact-SQL)
- Considerações de desempenho no PolyBase para SQL Server
- Perguntas frequentes no PolyBase
- Monitorar e solucionar problemas do PolyBase
- Referência de Transact-SQL do PolyBase