Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 comandos SqlPackage, SQL Server Data Tools (SSDT) em Visual Studio, e a extensão SQL Database Projects para Visual Studio Code.
Ferramentas incluídas neste artigo:
Ferramentas gráficas
Estas ferramentas fornecem uma interface gráfica para projetos SQL, um editor Transact-SQL (T-SQL) e um processo de construção e publicação.
SQL Database Projects é uma extensão para Visual Studio Code. Esta extensão fornece uma interface gráfica para projetos SQL, um editor T-SQL e um processo de compilação e publicação.
Database DevOps em SQL Server Management Studio (SSMS) fornece uma interface gráfica para projetos SQL, um editor T-SQL e um processo de construção e publicação.
SQL Server Data Tools (SSDT) é um componente 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 compilação e publicação.
Comparação de funcionalidades
| Característica | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SSDT estilo SDK (pré-visualização) (VS2022) |
|---|---|---|---|---|
| Criar novo projeto vazio | Yes | Yes | Yes | Yes |
| Criar novo projeto a partir do banco de dados existente | Yes | Yes | Yes | Yes |
| Abrir projetos existentes do Microsoft.Build.Sql | Yes | Yes | Não | Yes |
| Abrir projetos no estilo original (SSDT) | Yes | Não | Yes | Não |
| Gestão e operações de soluções | Não | Yes | Yes | Yes |
| Executar build do projeto | Yes | Yes | Yes | Yes |
| Publicar projeto no servidor existente | Yes | Yes | Yes | Yes |
| Publicar projeto em uma instância de desenvolvimento local | Sim1 | Sim2 | Sim3 | Sim3 |
| Publicar opções/propriedades | Yes | Yes | Yes | Yes |
| A plataforma de destino pode ser atualizada | Yes | Yes | Yes | Yes |
| Variáveis SQLCMD | Yes | Yes | Yes | Yes |
| Referências de projeto | Yes | Yes | Yes | Yes |
| Referências DACPAC | Yes | Yes | Yes | Yes |
| Referências de pacotes | Yes | Yes | Não | Não |
| Publicar criação de perfil | Yes | Não | Yes | Yes |
| Os arquivos SQL podem ser adicionados colocando na pasta do projeto | Yes | Yes | Não | Yes |
| Os arquivos SQL podem ser excluídos da compilação | Yes | Yes | Yes | Não |
| Scripts pré-implantação e pós-implantação | Yes | Yes | Yes | Yes |
| Novos modelos de objeto | Sim4 | Yes | Yes | Sim4 |
| Os ficheiros de Project podem ser organizados em pastas | Yes | Yes | Yes | Yes |
| Projeto de comparação de esquema com banco de dados | Yes | Não | Yes | Yes |
| Comparação de esquema do banco de dados com o projeto | Yes | Não | Yes | Não |
| Designer gráfico de tabelas | Não | Não | Yes | Yes |
| Análise de código - ativar/desativar a interface gráfica de regras | Yes | Yes | Yes | Não |
| Propriedades do projeto - definições de saída de compilação | Não | Não | Yes | Yes |
| Propriedades do projeto - definições da interface gráfica da base de dados | Não | Não | Yes | Não |
| Projeto executar |
Yes | Yes | Yes | Não |
| Renomeação e refatoração de objetos | Não | Não | Yes | Não |
| Intellisense fornecido em arquivos de banco de dados do modelo de projeto | Não | Não | Yes | Não |
1 Instância de desenvolvimento local é um contentor SQL Server.
2 Qualquer base de dados SQL Microsoft pré-instalada pode ser usada como instância de desenvolvimento local.
3 Instância de desenvolvimento local é uma instância SQL Server LocalDB.
4 Subconjunto limitado de modelos disponíveis.
Ferramentas de linha de comandos
SqlPackage é o principal utilitário de linha de comando para a biblioteca DacFx, permitindo a automação das tarefas de desenvolvimento de banco de dados, como implantar um .dacpac em um banco de dados ou extrair os objetos de um banco de dados para um projeto SQL ou .dacpac.
Aplicações personalizadas de consola podem ser construídas usando a biblioteca DacFx .NET para automatizar tarefas de desenvolvimento de bases de dados. O namespace Microsoft.SqlServer.Dac contém classes para criar, implementar e extrair objetos de base de dados e é basilar para o resto da biblioteca DacFx.
Os pipelines de CI/CD podem ser criados com execução de linha de comando ou com tarefas específicas para .dacpac a implantação de projetos SQL. O GitHub sql-action e SqlAzureDacpacDeployment em Azure DevOps são exemplos de tarefas que utilizam o SqlPackage sob uma camada de gestão para facilitar a implementação de alterações na base de dados.
Ferramentas de conversão
O processo de conversão de um projeto SQL existente em um projeto no estilo SDK é feito editando manualmente o .sqlproj arquivo para incluir o novo formato de projeto no estilo SDK. Antes de iniciar o processo, é recomendável fazer backup do arquivo de projeto e arquivar um .dacpac do projeto. Ao comparar um "antes" e um "depois" .dacpac construídos a partir do projeto, você pode garantir que o processo de conversão foi concluído corretamente.
Projeto/gestão de solução
Vários projetos SQL (e outros projetos) podem ser agrupados logicamente em um arquivo de solução. O arquivo de solução é um contêiner para um ou mais projetos e é usado para gerenciar os projetos como um grupo, incluindo a ação de compilação. Soluções grandes podem ser divididas em soluções menores para melhorar o desempenho e a capacidade de gerenciamento, ou geradas dinamicamente para a tarefa apropriada em mãos. O gerador de ficheiros de solução slngen está disponível para Microsoft. Build.Sql e pode ser usado para criar um ficheiro de solução para um conjunto de projetos, tanto programaticamente como sob demanda.
Mapa
Um roteiro trimestral para capacidades relacionadas com projetos SQL está disponível em https://aka.ms/sqlprojects-roadmap. O feedback dos clientes influencia fortemente o roteiro, que incorpora tanto a modernização das capacidades dos projetos Microsoft.Build.Sql quanto melhorias nas interfaces das ferramentas associadas a projetos SQL.
Ferramentas de terceiros
Há ferramentas de terceiros disponíveis que fornecem funcionalidades relacionadas a projetos SQL e implantação de banco de dados. Algumas ferramentas são open source, como dbatools.
Os desenvolvedores compartilharam seus projetos utilizando pontos de extensibilidade em torno de projetos SQL, incluindo regras de análise de código e planos de implantação personalizados. Alguns desses projetos são:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer
Conteúdo relacionado
- Desenvolvimento de Bases de Dados Offline Orientado para Projetos
- Extensão de Projetos de Base de Dados SQL
- SqlPackage
- GitHub sql-action
- Azure DevOps implementações SQL
- Aplicativos da camada de dados (DAC)
- repositório de feedback DacFx
- Introdução aos projetos de banco de dados SQL
- Tutorial: Criar e implantar um projeto SQL