PolyBase-autentiseringsuppgifter och datakällor
- 6 minuter
Nu när du förstår principerna för datavirtualisering och PolyBase är det viktigt att förstå säkerhet och anslutning. I den här lektionen beskrivs de objekt och operatorer som används med PolyBase.
Även om PolyBase-funktionen är aktiverad på SQL Server-instansnivå fungerar PolyBase-objekt och operatorer som OPENROWSET, CET och CETAS på databasnivå. Varje datakälla, externt filformat och externa autentiseringsuppgifter är knutna till en viss databas.
Följande diagram illustrerar databasrelationen med PolyBase-objekt.
Huvudnyckel: Databasens huvudnyckel (DMK) är en symmetrisk nyckel som används för att skydda de privata nycklarna för certifikat och asymmetriska nycklar som finns i databasen. DMK är en säkerhetsmekanism för att på ett säkert sätt lagra all information om externa autentiseringsuppgifter och datakällor. Mer information finns i CREATE MASTER KEY (Transact-SQL).
Databasomfattande autentiseringsuppgifter: Kommandot CREATE DATABASE SCOPED CREDENTIAL skapar en autentiseringsuppgift som innehåller den information om autentiseringsuppgifter som används av den externa datakällan. Mer information finns i CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Extern datakälla: Kommandot CREATE EXTERNAL DATA SOURCE skapar en datakälla som innehåller nödvändig information för att få åtkomst till en extern datakälla. Den externa datakällan kan vara en annan databasserver eller en lagringsplats som Azure Blob Storage, Azure Data Lake Storage eller S3-kompatibel objektlagring. Mer information finns i SKAPA EXTERN DATAKÄLLA (Transact-SQL).
Extern tabell: Kommandot CREATE EXTERNAL TABLE skapar en virtuell tabell som pekar på den externa datakällan som antingen är en fil eller en annan databastabell. När den här tabellen används hämtar SQL Server data från källan. Det här kommandot ger användare och program samma flexibilitetsnivå som att arbeta med en vanlig tabell utan komplexiteten att administrera ursprungliga data. Mer information finns i SKAPA EXTERN TABELL (Transact-SQL).
Externt filformat: Kommandot CREATE EXTERNAL FILE FORMAT definierar hur SQL Server fungerar med en viss filtyp. Externt filformat avgör typen av fil, fältavslutare, avgränsare, komprimering och kodning. Mer information finns i SKAPA EXTERNT FILFORMAT (Transact-SQL).
Ett annat sätt att förstå PolyBase-arbetsflödet är genom följande diagram:
PolyBase-datakällor som stöds
Platsprefixet för anslutningsappen informerar SQL Server om vilken typ av slutpunkt du förväntar dig att ansluta till. Om du till exempel vill ansluta till ett Azure Blob Storage-konto använder du abs, men för att ansluta till en Oracle-server använder du oracle.
| Extern datakälla | Platsprefix för anslutning | Sökväg | Autentisering |
|---|---|---|---|
| Azure Blob Storage-lagringstjänst | abs |
abs://<storage_account_name>.blob.core.windows.net/<container_name> |
Signatur för delad åtkomst (SAS) |
| Azure Data Lake Storage | adls |
adls://<storage_account_name>.dfs.core.windows.net/<container_name> |
SAS |
| SQL Server | sqlserver |
<server_name>[\<instance_name>][:port] |
Endast SQL-autentisering |
| Orakel | oracle |
<server_name>[:port] |
Endast grundläggande autentisering |
| Teradata | teradata |
<server_name>[:port] |
Endast grundläggande autentisering |
| MongoDB eller Azure Cosmos DB API för MongoDB | mongodb |
<server_name>[:port] |
Endast grundläggande autentisering |
| Allmän öppen databasanslutning (ODBC) | odbc |
<server_name>[:port] |
Endast grundläggande autentisering |
| Massåtgärder | https |
<storage_account>.blob.core.windows.net/<container> |
SAS |
| S3-kompatibel objektlagring | s3 |
s3://<server_name>:<port>/ |
Vissa prefix har ändrats från tidigare version av SQL Server av kompatibilitetsskäl. En fullständig lista över datakällor och motsvarande prefix finns i SKAPA EXTERN DATAKÄLLA.
Filformat som stöds för PolyBase
SQL Server 2025 stöder följande filformat:
- CSV
- Parkett
- Avgränsad text
- Delta (skrivskyddat). SQL Server kan läsa Delta-filer, men kan inte exportera ett tabellresultat som Delta.
OPENROWSET, CET och CETAS
PolyBase använder tre operatorer för att fråga eller virtualisera data. Den här utbildningsmodulen omfattar dessa kommandon och deras användningsfall.
OPENROWSET är ett enkelt kommando som gör att SQL-motorn kan komma åt data utanför SQL Server, antingen en fil eller en annan databas. OPENROWSET är optimerat för ad hoc-körning och rekommenderas för inläsning av data eller datautforskning. Mer information finns i OPENROWSET (Transact-SQL).
SKAPA EXTERN TABELL (CET) skapar en tabell där data finns kvar på den ursprungliga platsen utanför SQL Server. När tabellen har valts tillhandahåller SQL-motorn begärda data till användaren. Den externa tabellen drar nytta av återanvändning och kan använda statistik för bättre prestanda. Mer information finns i SKAPA EXTERN TABELL (Transact-SQL).
SKAPA EXTERN TABELL SOM SELECT (CETAS) utför en kombination av åtgärder i ett enda kommando. För det första gör CETAS att SQL Server kan transformera och konvertera angivna data som lagras i eller utanför databasen. CETAS exporterar sedan data till en annan plats, antingen en nätverksplats eller Azure. Slutligen skapar CETAS en extern tabell som riktar sig till nyligen exporterade data. Mer information finns i CREATE EXTERNAL TABLE AS SELECT (Transact-SQL).