Ferramentas de projetos SQL
As ferramentas para projetos SQL estão disponíveis em vários ambientes de desenvolvimento e interfaces de linha de comando. As principais ferramentas para projetos SQL são o utilitário de linha de comando SqlPackage, o SQL Server Data Tools (SSDT) no Visual Studio e a extensão Projetos de Banco de Dados do SQL para Azure Data Studio e Visual Studio Code.
Ferramentas gráficas
Essa extensão fornece uma interface gráfica para projetos SQL, um editor T-SQL e um processo de compilação e publicação.
O SQL Server Data Tools (SSDT) é um componente do Visual Studio que fornece uma interface gráfica para projetos SQL. O SSDT fornece um designer visual para tabelas, um editor T-SQL e um processo de build e publicação.
A extensão de Projetos de Banco de Dados SQL é uma extensão para o Azure Data Studio (ADS) e o VS Code. Essa extensão fornece uma interface gráfica para projetos SQL, um editor T-SQL e um processo de compilação e publicação.
Comparações entre conjuntos de recursos
Recurso | SSDT no estilo SDK | SSDT | ADS | Código do VS |
---|---|---|---|---|
Criar um projeto vazio | X | X | X | X |
Criar um novo projeto de um banco de dados existente | X | X | X | |
Abrir projetos Microsoft.Build.Sql existentes | X1 | X | X | |
Gerenciamento e operações de soluções | X | X | ||
Compilação da execução do projeto | X | X | X | X |
Publicar projeto em um servidor existente | X | X | X | X |
Publicar projeto em uma instância de desenvolvimento local | X2 | X2 | X3 | X3 |
Opções/propriedades da publicação | X | X | X | |
A plataforma de destino pode ser atualizada | X | X | X | X |
Variáveis SQLCMD | X | X | X | X |
Referências do projeto | X | X | ||
Referências do Dacpac | X | X | X | |
Referências de pacote | X | |||
Publicar a criação do perfil | X | X | X | |
Os arquivos SQL podem ser adicionados colocando na pasta do projeto | X | X | X | |
Os arquivos SQL podem ser excluídos da compilação | X | X | ||
Scripts de pré/pós-implantação | X | X | X | X |
Novos modelos de objeto | X4 | X | X4 | X4 |
Os arquivos do projeto podem ser organizados em pastas | X | X | X | X |
Projeto de comparação de esquema com o banco de dados | X | X | ||
Banco de dados de comparação de esquema com o projeto | X | X | ||
Designer de tabelas gráficas | X | X | ||
Análise de código – ativar/desativar regras | X | |||
Propriedades do projeto – configurações de saída da compilação | X | X | ||
Propriedades do projeto – esquema padrão | X | |||
Propriedades do projeto – configurações do banco de dados | X | |||
Análise de código da execução de projeto autônoma | X | |||
Renomeação e refatoração de objetos | X | |||
Intellisense fornecido em arquivos de banco de dados do modelo do projeto | X | |||
Objetos de conectividade/exibição do pesquisador de objetos do SQL Server | X | X | X | X |
Itens do menu de contexto no pesquisador de objetos do SQL Server | X | X | X | |
Conectividade do editor de consultas do SQL Server | X | X | X |
- No Visual Studio 2022 pré-visualização 2, os projetos no estilo SDK usam a extensão
.sqlprojx
em vez de.sqlproj
. - A instância de desenvolvimento local é uma instância do SQL Server LocalDB.
- A instância de desenvolvimento local é um contêiner do SQL Server.
- Subconjunto limitado de modelos disponíveis
Ferramentas de linha de comando
O SqlPackage é o principal utilitário de linha de comando da biblioteca DacFx, que permite a automação das tarefas de desenvolvimento do banco de dados, como implantar um .dacpac
em um banco de dados ou extrair objetos de um banco de dados para um projeto SQL ou .dacpac
.
Aplicativos de console personalizados podem ser criados usando a biblioteca DacFx .NET para automatizar tarefas de desenvolvimento do banco de dados. O namespace Microsoft.SqlServer.Dac contém classes para criar, implantar e extrair objetos de bancos de dados e é fundamental para o restante da biblioteca DacFx.
Os pipelines de CI/CD podem ser criados com execução de linha de comando ou com tarefas específicas para implantação de projetos .dacpac
e SQL. O GitHub sql-action e o SqlAzureDacpacDeployment no Azure DevOps são exemplos de tarefas que usam o SqlPackage sob uma camada de gerenciamento para facilitar a implantação de alterações no banco de dados.
Ferramentas de terceiros
Existem ferramentas de terceiros disponíveis que fornecem funcionalidades relacionadas a projetos SQL e implantação de banco de dados. Algumas ferramentas são de código aberto, como a dbatools.
Os desenvolvedores compartilharam seus projetos utilizando pontos de extensibilidade em projetos SQL, incluindo regras de análise de código e personalização de planos de implantação. Alguns desses projetos são:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/GoEddie/DeploymentContributorFilterer
Conteúdo relacionado
- Desenvolvimento de banco de dados offline orientado a projetos
- Extensão de Projetos de Banco de Dados SQL
- SqlPackage
- GitHub sql-action
- Implantações de SQL do Azure DevOps
- Aplicativos da camada de dados (DAC)
- Repositório de comentários do DacFx
- Introdução a projetos de banco de dados SQL
- Tutorial: criar e implantar um projeto SQL