Konfigurowanie programu PolyBase w celu uzyskiwania dostępu do danych zewnętrznych w programie SQL Server
Dotyczy:programu SQL Server
W tym artykule wyjaśniono, jak używać technologii PolyBase w wystąpieniu programu SQL Server do wykonywania zapytań dotyczących danych zewnętrznych w innym wystąpieniu programu SQL Server.
Warunki wstępne
Jeśli nie zainstalowano programu PolyBase, zobacz instalacja programu PolyBase. W artykule dotyczącym instalacji wyjaśniono wymagania wstępne. Po zainstalowaniu upewnij się również, że włączyć program PolyBase.
Zewnętrzne źródło danych programu SQL Server używa uwierzytelniania SQL.
Przed utworzeniem poświadczenia o zakresie bazy danych należy utworzyć klucz główny .
Konfigurowanie zewnętrznego źródła danych programu SQL Server
Aby wykonać zapytanie dotyczące danych ze źródła danych programu SQL Server, należy utworzyć tabele zewnętrzne, aby odwoływać się do danych zewnętrznych. Ta sekcja zawiera przykładowy kod umożliwiający utworzenie tych tabel zewnętrznych.
Aby uzyskać optymalną wydajność zapytań, utwórz statystyki dotyczące kolumn tabeli zewnętrznej, zwłaszcza dla tych, które są używane do sprzężeń, filtrów i agregacji.
W tej sekcji są używane następujące polecenia Transact-SQL:
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- UTWÓRZ STATYSTYKI (Transact-SQL)
Utwórz poświadczenie o zakresie bazy danych na potrzeby uzyskiwania dostępu do źródła programu SQL Server. Przykład poniżej tworzy poświadczenie dla zewnętrznego źródła danych za pomocą
IDENTITY = 'username'
iSECRET = 'password'
.CREATE DATABASE SCOPED CREDENTIAL SqlServerCredentials WITH IDENTITY = 'username', SECRET = 'password';
Ważny
Łącznik SQL ODBC dla technologii PolyBase obsługuje tylko uwierzytelnianie podstawowe, a nie uwierzytelnianie Kerberos.
Utwórz zewnętrzne źródło danych za pomocą CREATE EXTERNAL DATA SOURCE. Poniższy przykład:
- Tworzy zewnętrzne źródło danych o nazwie
SQLServerInstance
. - Identyfikuje zewnętrzne źródło danych (
LOCATION = '<vendor>://<server>[:<port>]'
). W przykładzie wskazuje domyślne wystąpienie programu SQL Server. - Określa, czy obliczenia powinny być wypychane do źródła (
PUSHDOWN
).PUSHDOWN
jest domyślnieON
.
Na koniec w przykładzie użyto wcześniej utworzonego poświadczenia.
CREATE EXTERNAL DATA SOURCE SQLServerInstance WITH ( LOCATION = 'sqlserver://SqlServer', PUSHDOWN = ON, CREDENTIAL = SQLServerCredentials);
- Tworzy zewnętrzne źródło danych o nazwie
Utwórz tabelę zewnętrzną za pomocą CREATE EXTERNAL TABLE Instrukcja wymaga sortowania, a lokalizacja wymaga notacji trzyczęściowej (
<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);
Opcjonalnie utwórz statystyki dla tabeli zewnętrznej.
Aby uzyskać optymalną wydajność zapytań, utwórz statystyki dotyczące kolumn tabeli zewnętrznej, zwłaszcza tych używanych w sprzężeniach, filtrach i agregatach.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY)
WITH FULLSCAN;
Ważny
Po utworzeniu zewnętrznego źródła danych możesz użyć CREATE EXTERNAL TABLE polecenie , aby utworzyć tabelę z możliwością wykonywania zapytań względem tego źródła.
Typy zgodne z łącznikiem programu SQL Server
Możesz również użyć łącznika programu SQL Server (sqlserver://), aby uzyskać dostęp do usługi Azure SQL Database. Aby wykonać to zadanie, wykonaj te same kroki wymienione wcześniej. Upewnij się, że poświadczenie o zakresie bazy danych, adres serwera, port i ciąg lokalizacji są skorelowane z tym źródłem danych usługi Azure SQL Database, z którym chcesz nawiązać połączenie.
Następne kroki
Aby uzyskać więcej samouczków dotyczących tworzenia zewnętrznych źródeł danych i tabel zewnętrznych w różnych źródłach danych, zobacz dokumentacji programu PolyBase Transact-SQL.
Aby dowiedzieć się więcej na temat technologii PolyBase, zobacz Omówienie programu SQL Server PolyBase.