Sdílet prostřednictvím


SqlPackage pro Azure Synapse Analytics

This article covers SqlPackage support for Azure Synapse Analytics. It includes information on the following topics:

  • integration with Azure Blob Storage for accessing data in parquet files
  • support for serverless SQL pools

Both dedicated and serverless SQL pools do not support the import/export actions in SqlPackage or .bacpac files. SqlPackage supports Azure Synapse Analytics with .dacpac files and can read and write data in parquet format files in Azure Blog Storage. To import or export data from a dedicated SQL pool, you must use the publish or extract actions with data as detailed below.

Extract (export data)

To export data from an Azure Synapse Analytics database to Azure Blob Storage, the SqlPackage extract action is used with following properties:

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

Access for the database to access the blob storage container is authorized via a storage account key. The database schema (.dacpac file) is written to the local client running SqlPackage and the data is written to Azure Blob Storage in parquet format.

An additional parameter is optional, which sets the storage root path within the container:

  • /p:AzureStorageRootPath

Without this property, the path defaults to servername/databasename/timestamp/. Data is stored in individual folders named with 2-part table names.

Příklad

Následující příklad extrahuje databázi s názvem databasename ze serveru s názvem yourserver.sql.azuresynapse.net do místního souboru s názvem databaseschema.dacpac v aktuálním adresáři. Data se zapisuje do kontejneru s názvem containername v účtu úložiště s názvem storageaccount pomocí klíče účtu úložiště s názvem storageaccountkey. Data se zapíšou do výchozí cesty servername/databasename/timestamp/ v kontejneru.

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

See SqlPackage extract for more examples of authentication types available.

Publikování (import dat)

To import data from parquet files in Azure Blob Storage to an Azure Synapse Analytics database, the SqlPackage publish action is used with the following properties:

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

Přístup k publikování je možné autorizovat prostřednictvím klíče účtu úložiště nebo tokenu sdíleného přístupového podpisu (SAS). The database schema (.dacpac file) is read from the local client running SqlPackage and the data is read from Azure Blob Storage in parquet format.

Příklad

Následující příklad publikuje databázi s názvem databasename na server s názvem yourserver.sql.azuresynapse.net z místního souboru s názvem databaseschema.dacpac v aktuálním adresáři. Data se čtou z kontejneru s názvem containername v účtu úložiště s názvem storageaccount pomocí klíče účtu úložiště s názvem storageaccountkey. The data is read from individual folders per table under the path yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ in the container.

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/"

Další příklady dostupných typů ověřování vizte v části SqlPackage publish.

Support for serverless SQL pools

Synapse serverless SQL pools are supported for both the extract and publish actions. The T-SQL surface area of serverless SQL pools is limited by design to external tables, external views, stored procedures, functions, statistics, and credentials. The following features are included in support for serverless SQL pools:

  • Delta external file format
  • OPENROWSET provider CosmosDB with PROVIDER, CONNECTION, OBJECT, and CREDENTIAL or SERVER_CREDENTIAL specified
  • with () clause on OPENROWSET

Další kroky