Dela via


SqlPackage för Azure Synapse Analytics

Den här artikeln beskriver SqlPackage-stöd för Azure Synapse Analytics. Den innehåller information om följande ämnen:

  • integrering med Azure Blob Storage för åtkomst till data i parquet-filer
  • stöd för serverlösa SQL-pooler

Både dedikerade och serverlösa SQL-pooler stöder inte import-/exportåtgärder i SqlPackage eller .bacpac filer. SqlPackage stöder Azure Synapse Analytics med .dacpac filer och kan läsa och skriva data i parquet-formatfiler i Azure Blog Storage. Om du vill importera eller exportera data från en dedikerad SQL-pool måste du använda åtgärderna publicera eller extrahera med data enligt beskrivningen nedan.

Extrahera (exportera data)

Om du vill exportera data från en Azure Synapse Analytics-databas till Azure Blob Storage används sqlpackage-extraheringsåtgärden med följande egenskaper:

  • /p:AzureStorageBlobEndpoint
  • /p:AzureStorageContainer
  • /p:AzureStorageKey

Åtkomst för databasen för åtkomst till bloblagringscontainern auktoriseras via en lagringskontonyckel. Databasschemat (.dacpac-filen) skrivs till den lokala klienten som kör SqlPackage och data skrivs till Azure Blob Storage i parquet-format.

En ytterligare parameter är valfri, som anger lagringsroten i containern.

  • /p:AzureStorageRootPath

Utan den här egenskapen är sökvägen som standard servername/databasename/timestamp/. Data lagras i enskilda mappar som namnges med tvådelade tabellnamn.

Exempel

I följande exempel extraheras en databas med namnet databasename från en server med namnet yourserver.sql.azuresynapse.net till en lokal fil med namnet databaseschema.dacpac i den aktuella katalogen. Data skrivs till en container med namnet containername i ett lagringskonto med namnet storageaccount med hjälp av en lagringskontonyckel med namnet storageaccountkey. Data skrivs till standardvägen servername/databasename/timestamp/ i containern.

SqlPackage /Action:Extract /SourceServerName:yourserver.sql.azuresynapse.net /SourceDatabaseName:databasename /SourceUser:sqladmin /SourcePassword:{your_password} /TargetFile:databaseschema.dacpac /p:AzureStorageBlobEndpoint=https://storageaccount.blob.core.windows.net /p:AzureStorageContainer=containername /p:AzureStorageKey=storageaccountkey

Se SqlPackage-extrahering för fler exempel på tillgängliga autentiseringstyper.

Publicera (importera data)

Om du vill importera data från parquet-filer i Azure Blob Storage till en Azure Synapse Analytics-databas används sqlpackage-publiceringsåtgärden med följande egenskaper:

  • /p:AzureStorageBlobEndpoint
  • /p:AzureStorageContainer
  • /p:AzureStorageRootPath
  • /p:AzureStorageKey eller /p:AzureSharedAccessSignatureToken

Åtkomst för publicering kan auktoriseras via en lagringskontonyckel eller en SAS-token (signatur för delad åtkomst). Databasschemat (.dacpac-filen) läss från den lokala klienten som kör SqlPackage och data läss från Azure Blob Storage i parquet-format.

Exempel

I följande exempel publiceras en databas med namnet databasename till en server med namnet yourserver.sql.azuresynapse.net från en lokal fil med namnet databaseschema.dacpac i den aktuella katalogen. Data läss från en container med namnet containername i ett lagringskonto med namnet storageaccount med hjälp av en lagringskontonyckel med namnet storageaccountkey. Datan läses från enskilda mappar per tabell under sökvägen yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ i containern.

SqlPackage /Action:Publish /SourceFile:databaseschema.dacpac /TargetServerName:yourserver.sql.azuresynapse.net /TargetDatabaseName:databasename /TargetUser:sqladmin /TargetPassword:{your_password} /p:AzureStorageBlobEndpoint=https://storageaccount.blob.core.windows.net /p:AzureStorageContainer=containername  /p:AzureStorageKey=storageaccountkey /p:AzureStorageRootPath="yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/"

Se SqlPackage publicera för fler exempel på tillgängliga autentiseringstyper.

Stöd för serverlösa SQL-pooler

Synapse-serverlösa SQL-pooler stöds för både extraherings- och publiceringsåtgärderna. T-SQL-ytan för serverlösa SQL-pooler begränsas av design till externa tabeller, externa vyer, lagrade procedurer, funktioner, statistik och autentiseringsuppgifter. Följande funktioner ingår i stödet för serverlösa SQL-pooler:

Nästa steg