Neste artigo, exploraremos a utilidade SQLPackage fornecida pela Microsoft para automatizar implantações de banco de dados. O SQLPackage é uma ferramenta de linha de comando multiplataforma que pode ser instalada no Windows, Linux e MacOS. Ele permite que você execute várias funções de banco de dados, como implantar um arquivo DACPAC, criar um DACPAC a partir de um banco de dados existente, comparar esquemas entre bancos de dados e muito mais.
Instalando a Utilidade SQLPackage
Para instalar a utilidade SQLPackage, você pode baixar o instalador apropriado do site oficial com base no seu sistema operacional. Depois de baixado, execute o instalador e siga as instruções de instalação.
Após a conclusão da instalação, você precisa configurar as variáveis de ambiente para usar a utilidade SQLPackage a partir da linha de comando. Para fazer isso, abra a caixa de diálogo “Variáveis de Ambiente” pesquisando por ela no menu Iniciar. Na caixa de diálogo, adicione o caminho do arquivo binário do diretório do programa DAC às variáveis do sistema. Por exemplo, o arquivo executável do SQLPackage geralmente está localizado em “C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin”.
Depois de adicionar o caminho, você pode abrir o prompt de comando e digitar “SQLPackage” para verificar se a utilidade foi instalada corretamente.
Usando a Utilidade SQLPackage
A utilidade SQLPackage oferece várias ações que podem ser usadas para executar diferentes funções de banco de dados. Essas ações incluem:
- Extract: Cria um arquivo DACPAC a partir de um banco de dados do SQL Server.
- DeployReport: Gera um relatório XML das alterações que serão aplicadas a um banco de dados quando ele for publicado.
- DriftReport: Gera uma lista de alterações que foram aplicadas a um banco de dados publicado desde que ele foi registrado.
- Publish: Publica um banco de dados a partir de um arquivo DACPAC, detectando automaticamente o estado do banco de dados de destino e atualizando-o conforme necessário.
- Script: Gera um script T-SQL que compara a diferença de esquema entre os bancos de dados de origem e destino.
- Export: Cria um backup de um banco de dados do SQL Server ativo ou do Banco de Dados SQL do Azure.
- Import: Importa um arquivo BACPAC para uma instância do SQL Server ou Banco de Dados SQL do Azure.
Para executar essas ações, você precisa usar a sintaxe comum: “SQLPACKAGE <<PARAMETERS>> <<PROPERTIES>> <<SQLCMDVARIABLES>>”. Você pode adicionar vários parâmetros para executar tarefas complexas. Variáveis SQLCMD podem ser usadas para passar valores de variáveis para um script parametrizado executado em um banco de dados do SQL Server.
Parâmetros da Ação Publish
Uma das ações mais amplamente utilizadas é a ação “Publish”. Ela é usada para publicar um banco de dados a partir de um arquivo DACPAC. Os seguintes parâmetros estão disponíveis para a ação Publish:
- Action: Especifica a ação como “Publish”.
- SourceFile: Especifica a localização do arquivo DACPAC.
- TargetDatabaseName: Especifica o nome do banco de dados de destino.
- TargetServerName: Especifica o servidor onde o banco de dados será implantado.
Por exemplo, o comando para publicar um arquivo DACPAC é:
sqlpackage /action:Publish /SourceFile:"C:\temp\SQLShackSnapshot.dacpac" /TargetDatabaseName:SQLShackSnapshot /TargetServerName:"localhost"
Ao executar este comando, o SQLPackage se conectará ao servidor de destino e criará um banco de dados com base no esquema disponível no arquivo DACPAC.
Conclusão
A utilidade SQLPackage é uma ferramenta poderosa para automatizar implantações de banco de dados. Ela simplifica o processo de criação e atualização de bancos de dados com configurações mínimas. Seja implantando em um servidor local, servidor remoto ou Banco de Dados SQL do Azure, o SQLPackage fornece a funcionalidade necessária para otimizar seus fluxos de trabalho de desenvolvimento e implantação de banco de dados.
Em artigos futuros, exploraremos as outras ações e recursos da utilidade SQLPackage com mais detalhes.