Konfigurace PolyBase pro přístup k externím datům na SQL Serveru
platí pro:SQL Server
Tento článek vysvětluje, jak pomocí PolyBase v instanci SQL Serveru dotazovat externí data v jiné instanci SQL Serveru.
Požadavky
Pokud jste nenainstalovali PolyBase, podívejte se na instalace PolyBase. Článek o instalaci vysvětluje požadavky. Jakmile máte nainstalováno, nezapomeňte také povolit PolyBase.
Externí zdroj dat SQL Serveru používá ověřování SQL.
Před vytvořením přihlašovacích údajů s vymezeným oborem databáze je nutné vytvořit Master Key.
Konfigurace externího zdroje dat SQL Serveru
Pokud chcete dotazovat data ze zdroje dat SQL Serveru, musíte vytvořit externí tabulky pro odkazování na externí data. Tato část obsahuje ukázkový kód pro vytvoření těchto externích tabulek.
Pokud chcete dosáhnout optimálního výkonu dotazů, vytvořte statistiky o sloupcích externí tabulky, zejména pro ty, které se používají pro spojení, filtry a agregace.
V této části se používají následující příkazy Transact-SQL:
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- VYTVOŘIT EXTERNÍ ZDROJ DAT (Transact-SQL)
- VYTVOŘIT EXTERNÍ TABULKU (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Vytvořte přihlašovací údaje s vymezeným oborem databáze pro přístup ke zdroji SQL Serveru. Následující příklad vytvoří přihlašovací údaje pro externí zdroj dat s
IDENTITY = 'username'
aSECRET = 'password'
.CREATE DATABASE SCOPED CREDENTIAL SqlServerCredentials WITH IDENTITY = 'username', SECRET = 'password';
Důležitý
Konektor SQL ODBC pro PolyBase podporuje pouze základní ověřování, nikoli ověřování Kerberos.
Vytvořte externí zdroj dat pomocí VYTVOŘIT EXTERNÍ ZDROJ DAT. Následující příklad:
- Vytvoří externí zdroj dat s názvem
SQLServerInstance
. - Identifikuje externí zdroj dat (
LOCATION = '<vendor>://<server>[:<port>]'
). V příkladu odkazuje na výchozí instanci SQL Serveru. - Určuje, jestli se má výpočet přesunout na zdroj (
PUSHDOWN
).PUSHDOWN
je ve výchozím nastaveníON
.
Nakonec příklad používá dříve vytvořené přihlašovací údaje.
CREATE EXTERNAL DATA SOURCE SQLServerInstance WITH ( LOCATION = 'sqlserver://SqlServer', PUSHDOWN = ON, CREDENTIAL = SQLServerCredentials);
- Vytvoří externí zdroj dat s názvem
Vytvořte externí tabulku pomocí CREATE EXTERNAL TABLE. Tento příkaz vyžaduje kolaci a umístění musí být uvedeno ve formátu se třemi částmi (
<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);
Volitelně můžete vytvořit statistiky pro externí tabulku.
Pro zajištění optimálního výkonu dotazů vytvořte statistiky o sloupcích externí tabulky, zejména těch, které se používají pro filtry spojení a agregace.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY)
WITH FULLSCAN;
Důležitý
Po vytvoření externího zdroje dat můžete pomocí příkazu CREATE EXTERNAL TABLE vytvořit v daném zdroji dotazovatelnou tabulku.
Typy kompatibilní s konektorem SQL Serveru
K přístupu ke službě Azure SQL Database můžete také využít konektor SQL Serveru (sqlserver://). Chcete-li tuto úlohu provést, postupujte podle stejných kroků uvedených dříve. Ujistěte se, že přihlašovací údaje omezené na databázi, adresa serveru, port a řetězec umístění odpovídají zdroji dat Azure SQL Database, ke kterému se chcete připojit.
Další kroky
Další kurzy týkající se vytváření externích zdrojů dat a externích tabulek pro různé zdroje dat najdete v tématu PolyBase Transact-SQL referenční.
Další informace o PolyBase naleznete v tématu Přehled SQL Server PolyBase.