Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo aborda o suporte do SqlPackage para o Azure Synapse Analytics. Ele inclui informações sobre os seguintes tópicos:
- integração com o Armazenamento de Blobs do Azure para acessar dados em arquivos parquet
- suporte para pools de SQL sem servidor
Os pools de SQL dedicados e sem servidor não dão suporte às ações de importação/exportação no SqlPackage ou arquivos .bacpac. O SqlPackage dá suporte ao Azure Synapse Analytics com .dacpac arquivos e pode ler e gravar dados em arquivos de formato parquet no Armazenamento de Blogs do Azure. Para importar ou exportar dados de um pool de SQL dedicado, você deve usar as ações de publicação ou extração com dados, conforme detalhado abaixo.
Extrair (exportar dados)
Para exportar dados de um banco de dados do Azure Synapse Analytics para o Armazenamento de Blobs do Azure, a ação de extração do SqlPackage é usada com as seguintes propriedades:
- /p:AzureStorageBlobEndpoint
- /p:AzureStorageContainer
- /p:AzureStorageKey
O acesso ao banco de dados para 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 é opcional, que define o caminho raiz de armazenamento dentro do contêiner:
- /p:AzureStorageRootPath
Sem essa propriedade, o caminho é padrão para servername/databasename/timestamp/. Os dados são armazenados em pastas individuais nomeadas com nomes de tabela de duas partes.
Example
O exemplo a seguir extrai um banco de dados nomeado databasename de um servidor nomeado yourserver.sql.azuresynapse.net para um arquivo local nomeado databaseschema.dacpac no diretório atual. Os dados são gravados em um contêiner nomeado 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 do servername/databasename/timestamp/ no contêiner.
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
Consulte a extração do SqlPackage para obter mais exemplos de tipos de autenticação disponíveis.
Publicar (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 de publicação 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 um token SAS (assinatura de acesso compartilhado). O esquema do banco de dados (arquivo .dacpac) é lido de um cliente local com o SqlPackage em execução, e os dados são lidos do Armazenamento de Blobs do Azure no formato parquet.
Example
O exemplo a seguir publica um banco de dados nomeado databasename para um servidor nomeado yourserver.sql.azuresynapse.net de um arquivo local nomeado databaseschema.dacpac no diretório atual. Os dados são lidos de um contêiner nomeado 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 /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/"
Consulte a publicação do SqlPackage para obter mais exemplos de tipos de autenticação disponíveis.
Suporte para pools de SQL sem servidor
Há suporte para pools de SQL sem servidor do Synapse para as ações de extração e publicação. A área de superfície do T-SQL em pools de SQL sem servidor é projetada para ser limitada a tabelas externas, visões externas, procedimentos armazenados, funções, estatísticas e credenciais. Os seguintes recursos são incluídos no suporte para pools de SQL sem servidor:
- Formato de arquivo externo Delta
- Provedor OPENROWSET do CosmosDB com PROVIDER, CONNECTION, OBJECT e CREDENTIAL ou SERVER_CREDENTIAL especificados
-
with ()cláusula em OPENROWSET
Próximas etapas
- Saiba mais sobre Extração
- Saiba mais sobre Publicar
- Saiba mais sobre o Armazenamento de Blobs do Azure
- Saiba mais sobre chaves de conta de armazenamento do Azure