SqlPackage para Azure Synapse Analytics

Este artigo aborda a integração do SqlPackage ao Armazenamento de Blobs do Azure para acessar os dados em arquivos Parquet. Essa funcionalidade só está disponível para bancos de dados do Azure Synapse Analytics.

Extract (exportar dados)

Para exportar dados de um banco de dados do Azure Synapse Analytics para o Armazenamento de Blobs do Azure, a ação extract do SqlPackage é usada com as seguintes propriedades:

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

O acesso para o banco de dados acessar o contêiner de armazenamento de blobs é autorizado por meio de uma chave de conta de armazenamento. O esquema de banco de dados (arquivo .dacpac) é gravado no cliente local que executa o SqlPackage, e os dados são gravados no Armazenamento de Blobs do Azure no formato Parquet.

Um parâmetro adicional, que define o caminho raiz de armazenamento dentro do contêiner, é opcional:

  • /p:AzureStorageRootPath

Sem essa propriedade, o caminho padrão é servername/databasename/timestamp/. Os dados são armazenados em pastas individuais indicadas com nomes de tabela de duas partes.

Exemplo

O exemplo a seguir extrai um banco de dados chamado databasename de um servidor chamado yourserver.sql.azuresynapse.net para um arquivo local chamado databaseschema.dacpac no diretório atual. Os dados são gravados em um contêiner chamado containername em uma conta de armazenamento chamada storageaccount usando uma chave de conta de armazenamento chamada storageaccountkey. Os dados são gravados no caminho padrão de servername/databasename/timestamp/ no contêiner.

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

Confira Ação extract do SqlPackage para obter mais exemplos de tipos de autenticação disponíveis.

Publish (importar dados)

Para importar dados de arquivos Parquet no Armazenamento de Blobs do Azure para um banco de dados do Azure Synapse Analytics, a ação publish do SqlPackage é usada com as seguintes propriedades:

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

O acesso à publicação pode ser autorizado por meio de uma chave de conta de armazenamento ou de um token SAS (Assinatura de Acesso Compartilhado). O esquema de banco de dados (arquivo .dacpac) é lido do cliente local que executa o SqlPackage, e os dados são lidos do Armazenamento de Blobs do Azure no formato Parquet.

Exemplo

O exemplo a seguir publica um banco de dados chamado databasename em um servidor chamado yourserver.sql.azuresynapse.net de um arquivo local chamado databaseschema.dacpac no diretório atual. Os dados são lidos de um contêiner chamado containername em uma conta de armazenamento chamada storageaccount usando uma chave de conta de armazenamento chamada storageaccountkey. Os dados são lidos de pastas individuais por tabela no caminho yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ no contêiner.

SqlPackage /Action:Publish /SourceFile:databaseschema.dacpac /TargetServerName:yourserver.sql.azuresynapse.net /TargetDatabaseName:databasename /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/"

Confira Ação publish do SqlPackage para obter mais exemplos de tipos de autenticação disponíveis.

Próximas etapas