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
Este artigo explica como usar o PolyBase em uma instância do SQL Server para consultar dados externos em outra instância do SQL Server.
Pré-requisitos
Se ainda não instalaste o PolyBase, consulta a instalação do PolyBase em . O artigo de instalação explica os pré-requisitos. Uma vez instalado, certifique-se também de ativar PolyBase.
A fonte de dados externa do SQL Server usa a Autenticação SQL.
Antes de criar uma credencial com escopo de banco de dados, uma Chave Mestra deve ser criada.
Configurar uma fonte de dados externa do SQL Server
Para consultar os dados de uma fonte de dados do SQL Server, você deve criar tabelas externas para fazer referência aos dados externos. Esta seção fornece código de exemplo para criar essas tabelas externas.
Para um desempenho de consulta ideal, crie estatísticas em colunas de tabelas externas, especialmente para aquelas usadas para junções, filtros e agregações.
Os seguintes comandos Transact-SQL são usados nesta seção:
- CRIAR CREDENCIAL DE ESCOPO DE BASE DE DADOS (Transact-SQL)
- CRIAR FONTE DE DADOS EXTERNA (Transact-SQL)
- CRIAR TABELA EXTERNA (Transact-SQL)
- CRIAR ESTATÍSTICAS (Transact-SQL)
Crie uma credencial com escopo de banco de dados para acessar a fonte do SQL Server. O exemplo a seguir cria uma credencial para a fonte de dados externa com
IDENTITY = 'username'eSECRET = 'password'.CREATE DATABASE SCOPED CREDENTIAL SqlServerCredentials WITH IDENTITY = 'username', SECRET = 'password';Importante
O SQL ODBC Connector for PolyBase oferece suporte apenas à autenticação básica, não à autenticação Kerberos.
Crie uma fonte de dados externa com CREATE EXTERNAL DATA SOURCE. O exemplo a seguir:
- Cria uma fonte de dados externa chamada
SQLServerInstance. - Identifica a fonte de dados externa (
LOCATION = '<vendor>://<server>[:<port>]'). No exemplo, ele aponta para uma instância padrão do SQL Server. - Identifica se a computação deve ser enviada para a fonte (
PUSHDOWN).PUSHDOWNéONpor padrão.
Finalmente, o exemplo usa a credencial criada anteriormente.
CREATE EXTERNAL DATA SOURCE SQLServerInstance WITH ( LOCATION = 'sqlserver://SqlServer', PUSHDOWN = ON, CREDENTIAL = SQLServerCredentials);- Cria uma fonte de dados externa chamada
Crie a tabela externa com CREATE EXTERNAL TABLE. A instrução requer ordenação e o local requer notação em três partes (
<database>.<schema>.<table>).CREATE EXTERNAL TABLE DatabasesExternal ( name VARCHAR(128) COLLATE SQL_Latin1_General_CP1_CI_AS) WITH (LOCATION = 'master.sys.databases', DATA_SOURCE = SQLServerInstance);Opcionalmente, crie estatísticas em uma tabela externa.
Para um desempenho de consulta ideal, crie estatísticas em colunas de tabelas externas, especialmente as usadas para filtros de junções e agregações.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY)
WITH FULLSCAN;
Importante
Depois de criar uma fonte de dados externa, você pode usar o comando CREATE EXTERNAL TABLE para criar uma tabela consultável sobre essa fonte.
Tipos compatíveis com o conector do SQL Server
Você também pode utilizar o conector do SQL Server (sqlserver://) para acessar o Banco de Dados SQL do Azure. Para realizar essa tarefa, siga as mesmas etapas listadas anteriormente. Certifique-se de que a credencial limitada ao âmbito do banco de dados, o endereço do servidor, a porta e a cadeia de localização estejam correlacionados com a fonte de dados do Banco de Dados SQL do Azure à qual pretende ligar-se.
Próximos passos
Para obter mais tutoriais sobre como criar fontes de dados externas e tabelas externas para uma variedade de fontes de dados, consulte PolyBase Transact-SQL referência.
Para saber mais sobre o PolyBase, consulte Visão geral do SQL Server PolyBase.