Partilhar via


Ferramentas de projetos SQL

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 a utilidade de linha de comandos 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 T-SQL e um processo de compilação e publicação.

A extensão SQL Database Projects é uma extensão para o VS 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. A extensão também está disponível no Azure Data Studio com a mesma funcionalidade.

O SSDT (SQL Server Data Tools ) é 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 compilação e publicação.

Comparação de funcionalidades

Característica Código VS SSDT (VS2022-2026) SSDT estilo SDK, pré-lançamento (VS2022)
Criar novo projeto vazio Yes Yes Yes
Criar novo projeto a partir do banco de dados existente Yes Yes Yes
Abrir projetos Microsoft.Build.Sql existentes Yes Não Yes
Gestão e operações de soluções Não Yes Yes
Compilação executada pelo projeto Yes Yes Yes
Publicar projeto no servidor existente Yes Yes Yes
Publicar projeto em uma instância de desenvolvimento local Sim1 Sim2 Sim2
Publicar opções/propriedades Yes Yes Yes
A plataforma de destino pode ser atualizada Yes Yes Yes
Variáveis SQLCMD Yes Yes Yes
Referências do projeto Yes Yes Yes
Referências Dacpac Yes Yes Yes
Referências de pacotes Yes Não Não
Publicar criação de perfil Yes Yes Yes
Os arquivos SQL podem ser adicionados colocando na pasta do projeto Yes Não Yes
Os arquivos SQL podem ser excluídos da compilação Yes Yes Não
Scripts pré e pós-implementação Yes Yes Yes
Novos modelos de objeto Sim3 Yes Sim3
Os arquivos de projeto podem ser organizados em pastas Yes Yes Yes
Projeto de comparação de esquema com banco de dados Yes Yes Yes
Comparação de esquema do banco de dados com o projeto Yes Yes Não
Designer gráfico de tabelas Não Yes Yes
Análise de código – ativar/desativar regras GUI Não Yes Não
Propriedades do projeto – configurações de saída da compilação Não Yes Yes
Propriedades do projeto – definições da base de dados GUI Não Yes Não
Análise de código de execução de projetos Yes Yes Não
Renomeação e refatoração de objetos Não Yes Não
Intellisense fornecido em arquivos de banco de dados do modelo de projeto Não Yes Não
  1. A instância de desenvolvimento local é um contêiner do SQL Server.
  2. A instância de desenvolvimento local é uma instância LocalDB do SQL Server.
  3. 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.

Aplicativos de console personalizados podem ser criados usando a biblioteca DacFx .NET para automatizar tarefas de desenvolvimento de banco de dados. O namespace Microsoft.SqlServer.Dac 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 .dacpac a implantação de projetos SQL. O GitHub sql-action e o SqlAzureDacpacDeployment no Azure DevOps são exemplos de tarefas que usam SqlPackage abaixo de uma camada de gerenciamento para facilitar a implantação de alterações no 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. 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.

Gestão de projetos/soluções

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 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 programaticamente e sob demanda.

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