Häufig gestellte Fragen zu PolyBase

Gilt für: SQL Server 2016 (13.x) und höhere Versionen

PolyBase vs. Verbindungsserver

In der folgenden Tabelle werden die Unterschiede zwischen PolyBase und Verbindungsserverfunktionen hervorgehoben:

PolyBase Verknüpfte Server
Datenbankweites Objekt Instanzweites Objekt
Verwendet ODBC-Treiber. Verwendet OLE-Datenbankanbieter
Unterstützt schreibgeschützte Vorgänge für alle Datenquellen und das Schreiben in einige externe Datenquellen Unterstützt sowohl Lese- als auch Schreibvorgänge
Abfragen einer Remotedatenquelle über eine einzige Verbindung lassen sich horizontal skalieren Abfragen an eine entfernte Datenquelle von einer einzigen Verbindung aus können nicht skaliert werden
Weitergabe von Prädikaten wird unterstützt Weitergabe von Prädikaten wird unterstützt
Es ist keine separate Konfiguration für die Verfügbarkeitsgruppe erforderlich Es ist eine separate Konfiguration für jede Instanz in der Verfügbarkeitsgruppe erforderlich
Nur Standardauthentifizierung Basis- und integrierte Authentifizierung
Geeignet für Analyseabfragen, die eine große Anzahl von Zeilen verarbeiten Geeignet für OLTP-Abfragen, die einzelne oder wenige Zeilen zurückgeben
Abfragen, die eine externe Tabelle verwenden, können nicht an verteilten Transaktionen teilnehmen Verteilte Abfragen können an verteilter Transaktion teilnehmen

Neuigkeiten bei PolyBase in SQL Server 2022?

SQL Server 2022 (16.x) unterstützt CSV-, Parquet- und Delta-Dateien, die auf Azure Storage Account v2, Azure Data Lake Storage Gen2 oder jedem S3-kompatiblen Objektspeicher über die S3 REST API, entweder lokal oder in der Cloud, gespeichert werden.

SQL Server 2022 (16.x) unterstützt CREATE EXTERNAL TABLE AS SELECT (CETAS) sowie Befehle wie OPENROWSET, CREATE EXTERNAL TABLE (CET) und die T-SQL-Erweiterungen.

SQL Server 2022 (16.x) unterstützt keine externen Hadoop-Datenquellen.

SQL Server 2022 (16.x) Cumulative-Update 2 führt Unterstützung für Oracle TNS-Dateien ein. Weitere Informationen und Beispiele finden Sie unter CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.

Weitere Informationen finden Sie unter Data Virtualization with PolyBase for SQL Server 2022 und sehen Sie sich die PolyBase-Erweiterungen von SQL Server 2022 an.

Neuigkeiten bei PolyBase in SQL Server 2019?

PolyBase in SQL Server 2019 (15.x) kann Daten aus mehreren Quellen lesen. Du kannst die Daten aus diesen externen Datenquellen als externe Tabellen auf deiner SQL Server-Instanz speichern. PolyBase unterstützt zudem die Pushdown-Berechnung für diese externen Datenquellen, mit Ausnahme von generischen ODBC-Typen.

Kompatible Datenquellen

  • SQL Server
  • Oracle
  • Teradata
  • MongoDB
  • Kompatible generische ODBC-Typen

SQL Server 2019 (15.x) Cumulative Update 19 führt Unterstützung für Oracle TNS-Dateien ein. Weitere Informationen und Beispiele finden Sie unter CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.

Note

PolyBase kann sich mit externen Datenquellen verbinden, indem er ODBC-Treiber von Drittanbietern verwendet. PolyBase enthält diese Treiber nicht, und sie funktionieren möglicherweise nicht wie vorgesehen. Weitere Informationen finden Sie unter Konfigurieren von PolyBase für den Zugriff auf externe Daten mit generischen ODBC-Typen.

Was CONNECTION_OPTIONS kann ich für die Verbindung mit Datenquellen von Drittanbietern angeben?

Überprüfen CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS Sie die unterstützten Verbindungsoptionen für Datenanbieter für SQL Server, Oracle, Teradata, die MongoDB-API für Cosmos DB und generische ODBC-Datenanbieter.

Wie kann ich den Ausführungsplan für Remoteabfragen der PolyBase-Pushdownberechnung anzeigen?

Du kannst den Fernabfrage-Ausführungsplan je nach Version von SQL Server mit unterschiedlichen Methoden einsehen. Weitere Informationen finden Sie unter PolyBase Troubleshooting – Um den PolyBase-Abfrageplan anzusehen.

Wie kann ich feststellen, ob eine PolyBase-Pushdown-Berechnung ausgeführt wird?

Weitere Informationen finden Sie unter Wie man erkennt, ob ein externer Pushdown erfolgt ist.

Wird PolyBase in Azure SQL-Datenbank unterstützt?

Nein, aber du kannst Daten in Dateien in Azure Blob Storage mit der OPENROWSET Funktion abfragen oder aus CREATE EXTERNAL TABLE einem serverlosen SQL-Pool in Synapse Analytics lesen. Weitere Informationen finden Sie unter Azure SQL kann Azure Data Lake Storage-Dateien mit externen Synapse SQL-Tabellen lesen.

Wird PolyBase auf Azure SQL Managed Instance unterstützt?

Azure SQL Managed Instance verfügt über eigene Datenvirtualisierungsfunktionen für Azure Data Lake Storage (ADLS) und Azure Blob Storage als Datenquellen. Weitere Informationen finden Sie unter Datenvirtualisierung mit Azure SQL Managed Instance.

Welche Ports meiner Firewall sollte ich für PolyBase zulassen?

PolyBase selbst erfordert nicht das Öffnen zusätzlicher Ports, es sei denn, Sie verwenden eine PolyBase-Scale-Out-Gruppe. Ohne eine Skalierungsgruppe benötigt der PolyBase-Dienst keine Firewall-Regeln.

Auf Windows-Servern verwendet PolyBase die Ports, die die SQL Server-Instanz im IPAll-Abschnitt der TCP/IP-Einstellungen im SQL Server-Konfigurations-Manager verwendet. Weitere Informationen finden Sie unter TCP/IP-Eigenschaften (Reiter IP-Adressen). Auf Linux-Servern verwendet PolyBase diese network.tcpport Einstellung. Weitere Informationen finden Sie unter TCP-Port.

Informationen zu PolyBase-Erweiterungsgruppen über mehrere Windows-Server finden Sie unter „Portinformationen“ in der nächsten Frage.

Sie müssen jedoch andere Ports für die Kommunikation zu den verschiedenen externen Datenquellen erlauben, die PolyBase nutzt. Lesen Sie die Dokumentation zu ODBC-Konfiguration, Azure-Ressourcenkonfiguration oder bestimmten Datenquellen. Beispiel:

Quellplattform Reference
Microsoft SQL Server Von SQL Server verwendete Ports
Hortonworks HDP Verwalten von HDFS
Cloudera CDH Von CDH-Komponenten verwendete Ports

Welche Ports werden für die PolyBase-Erweiterungsgruppe verwendet?

Standardmäßig verbindet sich der PolyBase-Datenbewegungsdienst mit dem Hauptknoten einer Scale-Out-Gruppe über einen TCP-Portbereich von 16450 bis 16460 (typischerweise 16450-1645) sowie über Port 17001. PolyBase nutzt diese Ports nur, wenn du eine Scale-out-Gruppe konfigurierst, also lass sie über Server-Firewalls laufen. SQL Server Setup erstellt automatisch eine lokale Firewall-Regel, die diese Ports erlaubt, wenn du die Funktion installierst. Weitere Informationen finden Sie unter Konfigurieren von PolyBase-Erweiterungsgruppen unter Windows.

Note

SQL Server PolyBase-Scale-Out-Gruppen wurden in SQL Server 2022 (16.x) entfernt.