Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:✅Banco de dados SQL no Microsoft Fabric
Neste tutorial, você aprenderá a trabalhar com SqlPackage em seu banco de dados SQL no Fabric.
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 mais tarde. - A portabilidade inclui a movimentação de e para o SQL Server, Banco de Dados SQL do Azure, Instância Gerenciada SQL do Azure e banco de dados SQL no Azure Fabric por meio de cópias de banco de dados independentes (
.bacpacou.dacpacarquivos).
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.).
- SqlPackage pode extrair um
.dacpacarquivo que contém as definições de objetos em um banco de dados e publicar um.dacpacarquivo para aplicar esse estado de objeto a um banco de dados novo ou existente. - A operação de publicação também se integra com 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 de malha existente. Caso contrário, inicie uma avaliação do Fabric.
- Crie um novo espaço de trabalho ou use um espaço de trabalho de malha existente.
- 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.
Configurar
SqlPackage está disponível para Windows, macOS e Linux como uma ferramenta dotnet. Você pode instalá-lo usando o seguinte comando:
dotnet tool install --global Microsoft.SqlPackage
Como uma ferramenta dotnet global, SqlPackage está disponível em seu terminal a sqlpackage partir de qualquer pasta.
Importar um banco de dados com SqlPackage
A .bacpac é uma cópia portátil de um banco de dados, útil para alguns cenários de migração e teste. Você pode importar isso .bacpac para um banco de dados SQL vazio com o comando SqlPackage import.
Nota
A .bacpac não é um backup ou um substituto para funcionalidades de backup/restauração. Para obter mais informações sobre backups para banco de dados SQL no Fabric, consulte Backups automáticos no banco de dados SQL no Microsoft Fabric e Restaurar a partir de um backup no banco de dados SQL no Microsoft Fabric.
Se estiver a utilizar um ambiente do Azure ou do SQL Server, talvez seja necessário alterar o banco de dados de origem para cumprir com os requisitos do banco de dados SQL na superfície T-SQL do Fabric. Consulte a portabilidade de extração e publicação para obter um método alternativo que permite que as propriedades SqlPackage ignorem 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 import from terminal na pasta sqlpackage. Forneça ao 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 na caixa de diálogo de configurações do banco de dados SQL.
- Substitua
sourcefileo.bacpacvalor pelo nome (DatabaseName) elocationna máquina local.
Siga a importação com um trabalho de cópia no Data Factory no Microsoft Fabric. ** Para começar, consulte Início rápido: criar uma tarefa de cópia.
Exportar um banco de dados com SqlPackage
Exportar a .bacpac é a operação inversa, onde o seu targetfile é um .bacpac e o seu sourceconnectionstring pode ser encontrado na caixa de diálogo de configurações do banco de dados SQL, como no exemplo anterior. Forneça ao 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 SqlPackage export.
Extrair e publicar
A .dacpac é um arquivo de modelo de esquema de banco de dados, contendo definições para 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.
SqlPackage é capaz de implantar um .dacpac em um novo banco de dados (vazio) ou atualizar incrementalmente um banco de dados existente para corresponder ao estado desejado .dacpac .
-
Extract cria um
.dacpacou arquivos sql a partir de um banco de dados existente. -
Publicar implanta um
.dacpacem um banco de dados.
O SqlPackage publicar e extrair sintaxe é semelhante aos comandos import/export.
Advertência
É 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 que foi criado a partir da Base de Dados SQL do Azure, do SQL Server ou de um projeto SQL direcionado a uma plataforma diferente da Base de Dados SQL no Fabric, acrescente a propriedade /p:AllowIncompatiblePlatform=true ao comando SqlPackage publish.
Portabilidade de extração e publicação
Enquanto os comandos de importação/exportação SqlPackage são focados na portabilidade de dados com .bacpac formato, os comandos de extração e publicação também permitem portabilidade de dados com .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 os .dacpac dados e incluí-los, use a propriedade /p:ExtractAllTableData=true. 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 são suportados 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, não são necessárias propriedades extras. 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 um.dacpacque foi extraído de uma plataforma diferente (por exemplo, Banco de Dados SQL do Azure, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersexclui tipos de objetos que podem enfrentar problemas de compatibilidade ao publicar no banco de dados SQL no Fabric. Para obter uma lista completa dos tipos de objeto que podem ser excluídos, consulte SqlPackage publish.
Da mesma forma que o comando de importação SqlPackage, antes de publicar um .dacpac no 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 Fabric ou de outra interface Fabric. O seguinte comando publica os dados extraídos .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