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.
Aplica-se a:✅banco de dados SQL no Microsoft Fabric
Neste tutorial, você aprenderá a trabalhar com o SqlPackage no banco de dados SQL no Fabric.
O SqlPackage é uma CLI que fornece portabilidade de banco de dados e implantações de banco de dados.
- A portabilidade (importação/exportação) de um banco de dados gerenciado no Azure ou no Fabric garante que seus dados sejam portáteis para outras plataformas caso você queira migrar posteriormente. – A portabilidade inclui a movimentação de e para o SQL Server, o Banco de Dados SQL do Azure, a Instância Gerenciada de SQL do Azure e o Banco de Dados SQL no Fabric por meio de cópias de banco de dados independentes (
.bacpacou.dacpacarquivos).
O SqlPackage também pode permitir implantações fáceis de banco de dados de alterações incrementais em objetos de banco de dados (novas colunas em tabelas, alterações em procedimentos armazenados existentes etc.).
- O SqlPackage pode extrair um arquivo
.dacpacque contém as definições de objetos em um banco de dados e publicar um arquivo.dacpacpara aplicar esse estado de objeto a um banco de dados novo ou existente. - A operação de publicação também se integra a projetos SQL, o que permite ciclos de desenvolvimento offline e mais dinâmicos para bancos de dados SQL.
Pré-requisitos
- Você precisa de uma capacidade existente no Fabric. Caso não tenha isso, inicie uma avaliação do Fabric.
- Crie um novo espaço de trabalho ou use um espaço de trabalho existente do Fabric.
- Crie ou use um banco de dados SQL existente no Fabric. Se você ainda não tiver um, crie um novo banco de dados SQL no Fabric.
- Instale o SDK do .NET 8.
Instalação
O SqlPackage está disponível para Windows, macOS e Linux como uma ferramenta dotnet. Instale-o usando o comando a seguir:
dotnet tool install --global Microsoft.SqlPackage
Como uma ferramenta dotnet global, o SqlPackage está disponível em seu terminal como sqlpackage em qualquer pasta.
Importar um banco de dados com SqlPackage
Uma .bacpac é uma cópia portátil de um banco de dados, útil para alguns cenários de migração e teste. Você pode importá-lo.bacpac para um banco de dados SQL vazio com a importação do SqlPackage.
Observação
Um .bacpac não é um backup ou uma substituição para recursos de backup/restauração. Para obter mais informações sobre backups para o banco de dados SQL no Fabric, consulte backups automáticos no banco de dados SQL no Microsoft Fabric e restauração de um backup no banco de dados SQL no Microsoft Fabric.
Se estiver usando um
.bacpacambiente do Azure ou do SQL Server, talvez seja necessário alterar o banco de dados de origem para atender ao banco de dados SQL na área de superfície T-SQL do Fabric. Consulte extrair e publicar portabilidade para um método alternativo que permite às propriedades do SqlPackage ignorar alguns objetos sem suporte.Crie seu novo banco de dados SQL no Fabric como de costume por meio da interface do Fabric.
Copie a cadeia de conexão das configurações.
Use o comando de importação do terminal na pasta do SqlPackage. Forneça seu proprietário
<servername>e<database_name>.sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"- Substitua a cadeia de conexão da caixa de diálogo configurações do banco de dados SQL.
- Substitua o valor
sourcefilepelo.bacpacnome (DatabaseName) elocationno computador local.
Siga a importação com uma atividade de cópia no Data Factory no Microsoft Fabric. Para começar, consulte Início Rápido: Criar um trabalho de Cópia.
Exportar um banco de dados com SqlPackage
Exportar uma .bacpac é a operação inversa, em que você targetfile é um .bacpac e seusourceconnectionstring pode ser encontrado na caixa de diálogo configurações do banco de dados SQL, como no exemplo anterior. Forneça seu proprietário <servername> e <database_name>. Por exemplo:
sqlpackage /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
Para obter mais informações sobre exportação, consulte a Exportação do SqlPackage.
Extrair e publicar
Um .dacpac é um arquivo de modelo de esquema de banco de dados, contendo definições para as tabelas, procedimentos armazenados e outros objetos no banco de dados de origem. Esse arquivo pode ser criado a partir de um banco de dados existente com SqlPackage ou de um projeto de banco de dados SQL.
O SqlPackage é capaz de implantar um .dacpac para um banco de dados novo (vazio) ou atualizar incrementalmente um banco de dados existente para corresponder ao estado .dacpac desejado.
-
Extrair cria um
.dacpacou arquivos do SQL de um banco de dados existente. -
Publicar implanta um
.dacpacem um banco de dados.
A sintaxe de publish e extract do SqlPackage é semelhante aos comandos import/export.
Aviso
É recomendável usar o SqlPackage para implantar um projeto SQL ou .dacpac no banco de dados SQL no Fabric. A implantação de um .dacpac do Visual Studio pode não ter êxito.
Para implantar um .dacpac criado do Banco de Dados SQL do Azure, do SQL Server ou de um projeto SQL direcionado a uma plataforma diferente do banco de dados SQL no Fabric, acrescente a propriedade /p:AllowIncompatiblePlatform=true ao comando de publicação SqlPackage.
Extrair e divulgar a portabilidade
Embora os comandos de importação/exportação do SqlPackage estejam focados na portabilidade de dados com o .bacpac formato, os comandos de extração e publicação são capazes de portabilidade de dados com o .dacpac formato. As propriedades de extração e publicação podem ser usadas para controlar o comportamento das operações de extração e publicação e fornecer mais flexibilidade para conversões entre plataformas.
Para extrair um .dacpac e incluir os dados, use a /p:ExtractAllTableData=true propriedade. A operação de extração cria um .dacpac que contém o esquema e os dados do banco de dados de origem. A propriedade /p:ExtractReferencedServerScopedElements=false exclui elementos com escopo de servidor, que não têm suporte no banco de dados SQL no Fabric. O comando a seguir extrai um .dacpac com dados de um banco de dados SQL existente no Fabric:
sqlpackage /action:extract /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true /p:ExtractReferencedServerScopedElements=false
Para publicar um .dacpac que foi extraído com os dados, nenhuma propriedade extra é necessária. No entanto, várias propriedades podem ser usadas para controlar o comportamento da operação de publicação:
-
/p:AllowIncompatiblePlatform=truepermite a implantação de uma.dacpacque foi extraída de uma plataforma diferente (por exemplo, Banco de Dados SQL do Azure, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersexclui tipos de objeto que podem apresentar problemas de compatibilidade ao publicar no banco de dados SQL no Fabric. Para obter uma lista completa de tipos de objeto que podem ser excluídos, consulte a publicação do SqlPackage.
Da mesma forma que o comando de importação do SqlPackage, antes de publicar um banco de dados SQL no Fabric, você precisa criar o banco de dados no Fabric. Você pode criar o banco de dados por meio do portal do Fabric ou de outra interface do Fabric. O seguinte comando publica o extraído .dacpac em um banco de dados SQL vazio no Fabric:
sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users