Compartilhar via


DevOps de banco de dados (versão prévia) no SQL Server Management Studio

Um projeto de banco de dados SQL é uma representação local de objetos SQL que compõem o esquema de um banco de dados individual, como tabelas, procedimentos armazenados ou funções. O ciclo de desenvolvimento de um projeto de banco de dados SQL ajuda você a integrar o desenvolvimento de banco de dados a fluxos de trabalho de CI/CD (integração contínua e implantação contínua) que são familiares como práticas recomendadas de desenvolvimento. No SSMS, você pode usar Microsoft.Build.Sql projetos em versão prévia para ajudá-lo a implementar, gerenciar e colaborar em alterações de banco de dados, fornecendo uma definição local dos objetos de banco de dados.

Este artigo descreve como usar projetos de banco de dados SQL no SSMS (SQL Server Management Studio) como parte ou para ancorar fluxos de trabalho de DevOps do banco de dados. Para obter mais informações sobre projetos do banco de dados SQL, consulte projetos do banco de dados SQL.

Pré-requisitos

Crie um novo projeto

Para trabalhar com projetos de banco de dados SQL no SSMS, você precisa de uma pasta local contendo seus arquivos de projeto. Você pode iniciar um projeto extraindo objetos de um banco de dados existente ou criando novos arquivos de objeto do zero.

Captura de tela da caixa de diálogo Novo Projeto no SQL Server Management Studio.

Observação

O SSMS pode solicitar que você se conecte a um servidor ao abrir um arquivo do Gerenciador de Soluções. Você pode executar o desenvolvimento de projeto do banco de dados SQL offline sem se conectar a um banco de dados.

Adicionar objetos de um banco de dados existente

Use o SqlPackage para extrair o esquema de um banco de dados existente em arquivos individuais .sql organizados por tipo de objeto. Execute o seguinte comando para criar uma estrutura de pastas com seus objetos de banco de dados:

sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType

O /p:ExtractTarget=SchemaObjectType parâmetro organiza os arquivos extraídos em subpastas com base no tipo de objeto e esquema (por exemplo, dbo/Tables, ). dbo/StoredProcedures Extraia para uma pasta temporária fora do diretório do projeto e, em seguida, use o Windows Explorer para copiar o conteúdo desejado para a pasta do projeto.

Para obter mais informações sobre as opções de extração do SqlPackage, consulte a extração do SqlPackage.

Criar novos objetos

Adicione novos objetos de banco de dados ao seu projeto criando .sql arquivos na pasta do projeto. Cada arquivo deve conter uma única CREATE instrução para um objeto de banco de dados. Por exemplo, uma definição de tabela:

CREATE TABLE [dbo].[Products]
(
    [ProductId] INT NOT NULL PRIMARY KEY,
    [ProductName] NVARCHAR (100) NOT NULL,
    [Price] DECIMAL (10, 2) NOT NULL
);

Organizar arquivos por esquema e tipo de objeto usando subpastas, como dbo/Tables ou Sales/StoredProcedures. Essa estrutura corresponde à saída da extração do SqlPackage e facilita a localização de objetos à medida que o projeto cresce. O processo de build do projeto SQL inclui todos os .sql arquivos na pasta do projeto e suas subpastas por padrão.

O SSMS fornece modelos para itens comuns para ajudá-lo a começar. Para adicionar um novo item, clique com o botão direito do mouse no projeto no Gerenciadorde Soluções, selecione Adicionar >Novo Item e escolha na lista de modelos de objeto SQL.

Abrir projetos existentes

Para abrir um projeto de banco de dados SQL existente no SSMS, selecione Arquivo>Abrir>Projeto/Solução e navegue até o .sqlproj arquivo.

Importante

O SSMS dá suporte somente a projetos no estilo Microsoft.Build.Sql SDK. A versão mínima do SDK com suporte é 2.1.0. Se você tiver um projeto SQL original criado no Visual Studio, deverá convertê-lo no formato estilo SDK antes de abri-lo.

Para obter diretrizes sobre como converter projetos SQL originais no formato estilo SDK, consulte Converter um projeto SQL original em um projeto no estilo SDK.

Criar projetos e implantar alterações

O fluxo de trabalho do projeto SQL consiste em duas etapas principais: criar o projeto para validar e compilar o esquema e implantar a saída compilada em um banco de dados de destino.

Compilação do projeto

A criação de um projeto SQL valida as relações entre objetos e verifica a sintaxe T-SQL na plataforma de destino especificada. O processo de build produz um .dacpac arquivo, que contém um modelo compilado do esquema de banco de dados.

Para criar um projeto no SSMS, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Compilar.

Captura de tela do Gerenciador de Soluções mostrando a opção de build do projeto SQL.

A saída da compilação exibe erros ou avisos. Erros indicam problemas que impedem a implantação, como uma exibição que faz referência a uma tabela que não existe. Os avisos destacam possíveis problemas, como inconsistência de letras maiúsculas e minúsculas em nomes de objetos.

Em um build bem-sucedido, o arquivo .dacpac é criado na pasta bin\Debug dentro do diretório do projeto.

Para obter mais informações sobre como solucionar problemas de build, consulte Solucionar problemas de erros de build de projeto do SQL.

Implantar alterações

Depois de criar seu projeto, implante-o .dacpac em um banco de dados de destino usando a caixa de diálogo Publicar no SSMS. O processo de implantação compara .dacpac com o banco de dados de destino e gera as instruções necessárias CREATE, ALTER ou DROP para sincronizar o banco de dados com seu projeto.

Para implantar, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Publicar. Na caixa de diálogo Publicar, configure sua conexão de banco de dados de destino e selecione Publicar para aplicar alterações ou Gerar Script para examinar o script de implantação antes da execução.

Captura de tela da caixa de diálogo Publicar para implantar alterações de projeto do banco de dados SQL.

O processo de publicação é idempotente, para que você possa implementar o mesmo .dacpac várias vezes sem causar problemas. Essa abordagem permite que você implante em vários ambientes (desenvolvimento, preparo, produção) usando o mesmo artefato compilado.

Para obter informações detalhadas sobre as opções de implantação e a configuração, consulte Introdução aos projetos do banco de dados SQL.