gäller för: SQL Server 2016 (13.x) och senare versioner
PolyBase jämfört med länkade servrar
I följande tabell visas skillnaderna mellan PolyBase- och länkade serverfunktioner:
| PolyBase | Linked Servers |
|---|---|
| Databasomfattningsobjekt | Objekt med instansomfattning |
| Använder ODBC-drivrutiner | Använder OLEDB-leverantörer |
| Stöder skrivskyddade åtgärder för alla datakällor och skrivning till vissa externa datakällor | Stöder både läs- och skrivåtgärder |
| Frågor till fjärrdatakälla från en enda anslutning kan skalas ut | Frågor till fjärrdatakälla från en enda anslutning kan inte skalas ut |
| Pushdown för predikat stöds | Pushdown för predikat stöds |
| Ingen separat konfiguration krävs för tillgänglighetsgruppen | Separat konfiguration som behövs för varje instans i tillgänglighetsgruppen |
| Endast grundläggande autentisering | Grundläggande och integrerad autentisering |
| Lämplig för analysfrågor som bearbetar ett stort antal rader | Lämplig för OLTP-frågor som returnerar en eller några rader |
| Frågor som använder en extern tabell kan inte delta i distribuerade transaktioner | Distribuerade frågor kan delta i distribuerade transaktioner |
Vad är nytt i PolyBase i SQL Server 2022?
SQL Server 2022 (16.x) stöder nu CSV-, Parquet- och Delta-filer som lagras på Azure Storage Account v2, Azure Data Lake Storage Gen2 eller S3-kompatibel objektlagring med hjälp av S3 REST API, lokalt eller i molnet.
SQL Server 2022 (16.x) kan nu använda CREATE EXTERNAL TABLE as SELECT (CETAS), tillsammans med kommandon som OPENROWSET, CREATE EXTERNAL TABLE (CET) och alla nya T-SQL-förbättringar.
För närvarande har stöd för hadoop-externa datakällor tagits bort i SQL Server 2022 (16.x).
Sql Server 2022 (16.x) Kumulativ uppdatering 2 introducerar nu stöd för Oracle TNS-filer. Mer information och exempel finns i SKAPA EXTERN DATAKÄLLA.
Läs mer om datavirtualisering med PolyBase för SQL Server 2022 och granska förbättringar av SQL Server 2022 PolyBase.
Vad är nytt i PolyBase i SQL Server 2019?
PolyBase i SQL Server 2019 (15.x) kan nu läsa data från en större mängd olika datakällor. Data från dessa externa datakällor kan lagras som externa tabeller på DIN SQL Server. PolyBase har också stöd för pushdown-beräkning till dessa externa datakällor, exklusive allmänna ODBC-typer.
Kompatibla datakällor
- SQL Server
- Oracle
- Teradata
- MongoDB
- Kompatibla generiska ODBC-typer
Sql Server 2019 (15.x) Kumulativ uppdatering 19 introducerar nu stöd för Oracle TNS-filer. Mer information och exempel finns i SKAPA EXTERN DATAKÄLLA.
Note
PolyBase kan tillåta anslutning till externa datakällor med hjälp av ODBC-drivrutiner från tredje part. Dessa drivrutiner tillhandahålls inte tillsammans med PolyBase och kanske inte fungerar som avsett. Mer information finns i Konfigurera PolyBase för åtkomst till externa data med allmänna ODBC-typer.
Vilka CONNECTION_OPTIONS kan jag ange för anslutning till datakällor från tredje part?
Läs SKAPA EXTERN DATAKÄLLA (Transact-SQL) CONNECTION_OPTIONS för anslutningsalternativ för dataleverantörer som stöds för SQL Server, Oracle, Teradata, MongoDB API för Cosmos DB och allmänna ODBC-dataproviders.
Hur visar jag körningsplanen för fjärrfråga i beräkningen av PolyBase-pushdown?
Detta är möjligt via ett par metoder beroende på versionen av SQL Server. Se PolyBase-felsökning – Så här visar du PolyBase-frågeplanen.
Hur vet jag om beräkningen av PolyBase-pushdown sker?
Stöds PolyBase i Azure SQL Database?
Nej, men du kan köra frågor mot data i filerna som placeras i Azure Blob Storage med funktionen OPENROWSET eller använda CREATE EXTERNAL TABLE för att läsa från en serverlös SQL-pool i Synapse Analytics. Mer information finns i Azure SQL kan läsa Azure Data Lake-lagringsfiler med hjälp av externa Synapse SQL-tabeller.
Stöds PolyBase på Azure SQL Managed Instance?
Azure SQL Managed Instance har sina egna datavirtualiseringsfunktioner för Azure Data Lake Storage (ADLS) och Azure Blob Storage som datakällor. Mer information finns i Datavirtualisering med Azure SQL Managed Instance.
Vilka portar ska jag tillåta via min brandvägg för PolyBase?
Inga ytterligare portar behövs för att öppna för själva PolyBase, förutom när det gäller en polybase-utskalningsgrupp. Utan en utskalningsgrupp bör PolyBase-tjänsten ensam inte kräva någon brandväggsregel.
På Windows-servrar använder PolyBase de portar som används av SQL Server i avsnittet IPAll i TCP/IP-inställningarna i SQL Server Configuration Manager. Mer information finns i TCP/IP-egenskaper. På Linux-servrar använder PolyBase inställningen network.tcpport . Mer information finns i TCP-port.
Information om PolyBase-utskalningsgrupper över flera Windows-servrar finns i portinformation i nästa fråga.
Du måste dock tillåta andra portar för kommunikation till de olika externa datakällor som används av PolyBase. Se ODBC-konfiguration, Azure-resurskonfiguration eller specifik dokumentation om datakällor. For example:
| Source platform | Reference |
|---|---|
| Microsoft SQL Server | Portar som används av SQL Server |
| Hortonworks HDP | Administering HDFS |
| Cloudera CDH | Portar som används av CDH-komponenter |
Vilka portar används för utskalningsgruppen PolyBase?
PolyBase-dataförflyttningstjänsten ansluter som standard till huvudnoden i en utskalningsgrupp över ett antal portar från TCP 16450-16460, vanligtvis med 16450-16453, plus port 17001. Dessa portar används endast när en PolyBase-utskalningsgrupp har konfigurerats och bör tillåtas via serverbrandväggar. SQL Server-installationsprogrammet bör automatiskt skapa en lokal brandväggsregel som tillåter dessa portar vid funktionsinstallation. Mer information finns i Konfigurera PolyBase-utskalningsgrupper i Windows.
Note
Utskalningsgrupperna för Microsoft SQL Server PolyBase dras tillbaka. Skalbara gruppfunktioner tas bort från produkten i SQL Server 2022 (16.x).
PolyBase i stordatakluster jämfört med PolyBase i fristående instanser
Mer information om anslutningar med hjälp av den allmänna ODBC-anslutningsappen finns i guiden Så här konfigurerar du allmänna ODBC-typer.
Följande tabell visar de PolyBase-funktioner som är tillgängliga i SQL Server 2019 (15.x) fristående installation och SQL Server 2019 (15.x) stordatakluster:
| Feature | Stordatakluster | Fristående instans |
|---|---|---|
| Skapa en extern datakälla för SQL Server, Oracle, Teradata och Mongo DB | X | X |
| Skapa en extern datakälla med en kompatibel ODBC-drivrutin från tredje part | X | |
| Skapa en extern datakälla för HADOOP-datakällan | X | X |
| Skapa en extern datakälla för Azure Blob Storage | X | X |
| Skapa en extern tabell i en SQL Server-datapool | X | |
| Skapa en extern tabell i en SQL Server-lagringspool | X | |
| Skalbar frågekörning | X | X (endast Windows) |
Important
Microsoft SQL Server 2019 Big Data Clusters har dragits tillbaka. Mer information finns i bloggannonsen och big data-alternativ på Microsoft SQL Server-plattformen.