Compartilhar via


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, SQL Server Data Tools (SSDT) no Visual Studio e a extensão SQL Database Projects para Visual Studio Code.

Ferramentas incluídas neste artigo:

Ferramentas gráficas

Essas ferramentas fornecem uma interface gráfica para projetos SQL, um editor de Transact-SQL (T-SQL) e um processo de compilação e publicação.

a extensão SQL Database Projects é uma extensão para Visual Studio 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.

Database DevOps no SQL Server Management Studio (SSMS) fornece uma interface gráfica para projetos SQL, um editor T-SQL e um processo de build 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 build e publicação.

Comparação de conjuntos de recursos

Recurso Visual Studio Code SSMS SSDT (VS2022-2026) SSDT no estilo SDK (versão prévia) (VS2022)
Criar um projeto vazio Yes Yes Yes Yes
Criar um novo projeto de um banco de dados existente Yes Yes Yes Yes
Abra projetos existentes do Microsoft.Build.Sql Yes Yes Não Yes
Abrir projetos de SSDT (estilo original) Yes Não Yes Não
Gerenciamento e operações de soluções Não Yes Yes Yes
Projeto iniciar build Yes Yes Yes Yes
Publicar projeto em um servidor existente Yes Yes Yes Yes
Publicar projeto em uma instância de desenvolvimento local Sim1 Sim2 Sim3 Sim3
Opções/propriedades de publicação Yes Yes Yes Yes
A plataforma de destino pode ser atualizada Yes Yes Yes Yes
Variáveis SQLCMD Yes Yes Yes Yes
referências do Projeto Yes Yes Yes Yes
Referências de DACPAC Yes Yes Yes Yes
Referências de pacote Yes Yes Não Não
Publicar a criação do 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 de pré-implantação e pós-implantação Yes Yes Yes Yes
Novos modelos de objeto Sim4 Yes Yes Sim4
Arquivos de projeto podem ser organizados em pastas Yes Yes Yes Yes
Projeto de comparação de esquema com o banco de dados Yes Não Yes Yes
Comparação de esquema de banco de dados para projeto Yes Não Yes Não
Designer de tabelas gráficas Não Não Yes Yes
Análise de código – habilitar/desabilitar a GUI de regras Yes Yes Yes Não
propriedades do projeto – configurações de saída de compilação Não Não Yes Yes
propriedades do projeto – GUI de configurações de banco de dados Não Não Yes Não
Executar projeto análise de código 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 a partir do modelo de projeto Não Não Yes Não

1 Instância de desenvolvimento local é um contêiner SQL Server.
2 Qualquer banco de dados SQL pré-instalado Microsoft pode ser usado como uma instância de desenvolvimento local.
3 Instância de desenvolvimento local é uma instância do LocalDB SQL Server.
4 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 de .NET DacFx para automatizar tarefas de desenvolvimento de banco de dados. O Microsoft. SqlServer.Dac namespace contém classes para criar, implantar e extrair objetos de banco 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 a implantação de projetos .dacpac e SQL. O GitHub sql-action e 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 de banco 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. Comparando um "antes" e "depois" .dacpac compilados a partir do projeto, você pode garantir que o processo de conversão tenha sido concluído corretamente.

Gerenciamento de projeto/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 build. 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 questão. O gerador de arquivos de solução slngen está disponível para projetos Microsoft.Build.Sql e pode ser usado para criar um arquivo de solução para um conjunto de projetos de forma programática e sob demanda.

Roteiro

Um roteiro trimestral para recursos relacionados a projetos SQL está disponível em https://aka.ms/sqlprojects-roadmap. Os comentários dos clientes influenciam fortemente o roteiro, que incorpora tanto a modernização das capacidades dos projetos Microsoft.Build.Sql quanto melhorias nas interfaces de ferramentas associadas a projetos SQL.

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 código aberto, como 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: