Leggere in inglese

Condividi tramite


Pacchetto SQL per Azure Synapse Analytics

Questo articolo illustra il supporto di SqlPackage per Azure Synapse Analytics. Include informazioni sugli argomenti seguenti:

  • integrazione con Azure Blob Storage per l'accesso ai dati in file parquet.
  • supporto per i pool SQL serverless

I pool SQL dedicati e serverless non supportano le azioni di importazione/esportazione in SqlPackage o nei file .bacpac. SqlPackage supporta Azure Synapse Analytics con i file .dacpac e può leggere e scrivere dati in file in formato Parquet nell'archiviazione BLOB di Azure. Per importare o esportare dati da un pool SQL dedicato, è necessario usare le azioni di pubblicazione o estrazione con i dati come descritto di seguito.

Estrarre (esportazione dei dati)

Per esportare dati da un database di Azure Synapse Analytics in Archiviazione BLOB di Azure, l'azione di estrazione di SqlPackage viene usata con le proprietà seguenti:

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

L'accesso al database per accedere al contenitore di archiviazione BLOB è autorizzato tramite una chiave dell'account di archiviazione. Lo schema del database (file con estensione dacpac) viene scritto nel client locale che esegue SqlPackage e i dati vengono scritti in Archiviazione BLOB di Azure in formato parquet.

Un parametro aggiuntivo è facoltativo, che imposta il percorso radice di archiviazione all'interno del contenitore:

  • /p:AzureStorageRootPath

Senza questa proprietà, per impostazione predefinita il percorso è servername/databasename/timestamp/. I dati vengono archiviati in singole cartelle denominate con nomi di tabella in 2 parti.

Esempio

Nell'esempio seguente viene estratto un database denominato databasename da un server denominato yourserver.sql.azuresynapse.net a un file locale denominato databaseschema.dacpac nella directory corrente. I dati sono scritti in un contenitore denominato containername in un account di archiviazione denominato storageaccount usando una chiave dell'account di archiviazione denominata storageaccountkey. I dati sono scritti nel percorso predefinito di servername/databasename/timestamp/ nel contenitore.

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

Per altri esempi di tipi di autenticazione disponibili, vedere SqlPackage extract.

Pubblicare (importare dati)

Per importare dati da file parquet in Azure Blob Storage in un database di Azure Synapse Analytics, l'azione SqlPackage di pubblicazione viene usata con le proprietà seguenti:

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

L'accesso per la pubblicazione può essere autorizzato tramite una chiave dell'account di archiviazione o un token di firma di accesso condiviso . Lo schema del database (file con estensione .dacpac) viene letto dal client locale che esegue SqlPackage, e i dati vengono letti da Azure Blob Storage in formato parquet.

Esempio

Nell'esempio seguente viene pubblicato un database denominato databasename in un server denominato yourserver.sql.azuresynapse.net da un file locale denominato databaseschema.dacpac nella directory corrente. I dati provengono da un contenitore denominato containername in un account di archiviazione denominato storageaccount usando una chiave di accesso dell'account di archiviazione denominata storageaccountkey. I dati sono letti da singole cartelle per tabella nel percorso yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ nel contenitore.

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

Per altri esempi di tipi di autenticazione disponibili, vedere SqlPackage publish.

Supporto per i pool SQL serverless

I pool SQL serverless di Synapse sono supportati sia per le azioni di estrazione che di pubblicazione. La superficie T-SQL dei pool SQL serverless è limitata per progettazione a tabelle esterne, viste esterne, stored procedure, funzioni, statistiche e credenziali. Le funzionalità seguenti sono incluse nel supporto per i pool SQL serverless:

  • Delta formato di file esterno
  • Provider OPENROWSET per CosmosDB con PROVIDER, CONNECTION, OBJECT e CREDENTIAL oppure SERVER_CREDENTIAL specificati
  • with () clausola su OPENROWSET

Passaggi successivi


Risorse aggiuntive