Introdução a projetos de banco de dados SQL
Aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de dados SQL no Microsoft Fabric
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 permite que o desenvolvimento de banco de dados seja integrado a fluxos de trabalho de CI/CD (integração contínua e implantação contínua) familiarizados como uma prática recomendada de desenvolvimento.
Este artigo aborda a criação de um novo projeto SQL, a adição de objetos ao projeto e a criação e implantação do projeto. Com exceção das instruções do Visual Studio (SQL Server Data Tools), o guia se concentra em projetos SQL no estilo SDK.
Pré-requisitos
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
Observação
Para concluir a implantação de um projeto de banco de dados SQL, você precisa de acesso a uma instância do SQL ou do SQL Server do Azure. Você pode desenvolver localmente de graça com a edição do SQL Server Developer no Windows ou em contêineres.
Etapa 1: Criar um projeto
Começamos nosso projeto criando um novo projeto de banco de dados SQL antes de adicionar objetos manualmente a ele. Há outras maneiras de criar um projeto que permitem o preenchimento imediato do projeto com objetos de um banco de dados existente, como usar as ferramentas de comparação de esquema.
Selecione Arquivo, Novo e, em seguida, Projeto.
Na caixa de diálogo Novo Projeto, use o termo SQL Server na caixa de pesquisa. O resultado principal deve ser Projeto de Banco de Dados do SQL Server.
Selecione Avançar para prosseguir para a próxima etapa. Forneça um nome de projeto, que não precisa corresponder a um nome de banco de dados. Verifique e modifique o local do projeto conforme necessário.
Selecione Criar para criar o cluster. O projeto vazio será aberto e ficará visível no Gerenciador de Soluções para edição.
Selecione Arquivo, Novo e, em seguida, Projeto.
Na caixa de diálogo Novo Projeto, use o termo SQL Server na caixa de pesquisa. O resultado principal deve ser Projeto de Banco de Dados do SQL Server, estilo SDK (versão prévia).
Selecione Avançar para prosseguir para a próxima etapa. Forneça um nome de projeto, que não precisa corresponder a um nome de banco de dados. Verifique e modifique o local do projeto conforme necessário.
Selecione Criar para criar o cluster. O projeto vazio será aberto e ficará visível no Gerenciador de Soluções para edição.
Na exibição Projetos de Banco de Dados do VS Code ou do Azure Data Studio, selecione o botão Novo Projeto.
O primeiro prompt determina qual modelo de projeto usar, principalmente com base no fato de a plataforma de destino ser SQL Server ou SQL do Azure. Se solicitada a seleção de uma versão específica do SQL, escolha a versão que corresponde ao banco de dados de destino, mas se a versão do banco de dados de destino for desconhecida, escolha a versão mais recente, pois o valor pode ser modificado posteriormente.
Insira um nome de projeto na entrada de texto exibida, que não precisa corresponder a um nome de banco de dados.
Na caixa de diálogo "Selecionar uma Pasta" exibida, selecione um diretório para a pasta do projeto, o arquivo .sqlproj
e outros conteúdos.
Quando perguntado se deseja criar um projeto no estilo SDK (versão prévia), selecione Sim.
Depois de concluído, o projeto vazio será aberto e ficará visível na exibição Projetos de banco de dados para edição.
Com os modelos .NET para projetos Microsoft.Build.Sql instalados, você pode criar um novo projeto de banco de dados SQL na linha de comando. A opção -n
especifica o nome do projeto e a opção -tp
especifica a plataforma de destino do projeto.
Use a opção -h
para ver todas as opções disponíveis.
# install Microsoft.Build.Sql.Templates
dotnet new sqlproject -n MyDatabaseProject
Etapa 2: adicionar objetos ao projeto
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Adicionar, em seguida, selecione Tabela. A caixa de diálogo Adicionar Novo Item é exibida, onde você pode especificar o nome da tabela. Selecione Adicionar para criar a tabela no projeto SQL.
A tabela é aberta no designer de tabela do Visual Studio com a definição de tabela de modelo, onde você pode adicionar colunas, índices e outras propriedades de tabela. Salve o arquivo quando terminar de fazer as edições iniciais.
Mais objetos de banco de dados podem ser adicionados por meio da caixa de diálogo Adicionar Novo Item, como exibições, procedimentos armazenados e funções. Acesse a caixa de diálogo clicando com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e selecionando Adicionar e, em seguida, o tipo de objeto desejado. Os arquivos no projeto podem ser organizados em pastas por meio da opção Nova pasta em Adicionar.
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Adicionar, e depois em Novo Item. A caixa de diálogo Adicionar Novo Item é exibida, selecione Mostrar Todos os Modelos e, em seguida, Tabela. Especifique o nome da tabela como o nome do arquivo e selecione Adicionar para criar a tabela no projeto SQL.
A tabela é aberta no editor de consultas do Visual Studio com a definição da tabela de modelo, onde você pode adicionar colunas, índices e outras propriedades da tabela. Salve o arquivo quando terminar de fazer as edições iniciais.
Mais objetos de banco de dados podem ser adicionados por meio da caixa de diálogo Adicionar Novo Item, como exibições, procedimentos armazenados e funções. Acesse a caixa de diálogo clicando com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e selecionando Adicionar e, em seguida, o tipo de objeto desejado depois de Exibir Todos os Modelos. Os arquivos no projeto podem ser organizados em pastas por meio da opção Nova pasta em Adicionar.
Na exibição Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito do mouse no nó do projeto e selecione Adicionar Tabelas. Na caixa de diálogo exibida, especifique o nome da tabela.
A tabela é aberta no editor de texto com a definição da tabela de modelo, onde você pode adicionar colunas, índices e outras propriedades da tabela. Salve o arquivo quando terminar de fazer as edições iniciais.
Mais objetos de banco de dados podem ser adicionados por meio do menu de contexto no nó do projeto, como exibições, procedimentos armazenados e funções. Acesse a caixa de diálogo clicando com o botão direito do mouse no nó do projeto na exibição Projetos de Banco de Dados do VS Code ou do Azure Data Studio e, em seguida, no tipo de objeto desejado. Os arquivos no projeto podem ser organizados em pastas por meio da opção Nova pasta em Adicionar.
Os arquivos podem ser adicionados ao projeto criando-os no diretório do projeto ou nas pastas aninhadas. A extensão do arquivo deve ser .sql
e a organização por tipo de objeto ou esquema e tipo de objeto é recomendada.
O modelo base de uma tabela pode ser usado como ponto de partida para criar um novo objeto de tabela no projeto:
CREATE TABLE [dbo].[Table1]
(
[Id] INT NOT NULL PRIMARY KEY
)
Etapa 3: compilar o projeto
O processo de build valida as relações entre objetos e a sintaxe em relação à plataforma de destino especificada no arquivo de projeto. A saída do artefato do processo de build é um arquivo .dacpac
, que pode ser usado para implantar o projeto em um banco de dados de destino e contém o modelo compilado do esquema de banco de dados.
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Compilar.
A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, eles serão exibidos na janela de saída. Em uma compilação bem-sucedida, o artefato de compilação (arquivo .dacpac
) é criado, sua localização é incluída na saída da compilação (o padrão é bin\Debug\projectname.dacpac
).
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Compilar.
A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, eles serão exibidos na janela de saída. Em uma compilação bem-sucedida, o artefato de compilação (arquivo .dacpac
) é criado, sua localização é incluída na saída da compilação (o padrão é bin\Debug\projectname.dacpac
).
Na exibição Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito do mouse no nó do projeto e selecione Compilar.
A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, eles serão exibidos na janela de saída. Em uma compilação bem-sucedida, o artefato de compilação (arquivo .dacpac
) é criado, sua localização é incluída na saída da compilação (o padrão é bin/Debug/projectname.dacpac
).
Os projetos de banco de dados SQL podem ser criados a partir da linha de comando usando o comando dotnet build
.
dotnet build
# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj
A saída do build inclui quaisquer erros ou avisos e os arquivos específicos e números de linha onde eles ocorrem. Em uma compilação bem-sucedida, o artefato de compilação (arquivo .dacpac
) é criado, sua localização é incluída na saída da compilação (o padrão é bin/Debug/projectname.dacpac
).
Etapa 4: implantar o projeto
O modelo compilado de um esquema de banco de dados em um arquivo .dacpac
pode ser implantado em um banco de dados de destino usando a ferramenta de linha de comando SqlPackage
ou outras ferramentas de implantação. O processo de implantação determina as etapas necessárias para atualizar o banco de dados de destino para corresponder ao esquema definido no .dacpac
, criando ou alterando objetos conforme necessário com base nos objetos já existentes no banco de dados. Como resultado, o processo de implantação é idempotente, o que significa que ele pode ser executado várias vezes sem causar problemas e você pode implantar o mesmo .dacpac
em vários bancos de dados sem precisar predeterminar seu status.
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Publicar….
A caixa de diálogo de publicação é aberta, onde você estabelece a conexão do banco de dados de destino. Se você não tiver uma instância SQL existente para implantação, o LocalDB ((localdb)\MSSQLLocalDB
) será instalado com o Visual Studio e poderá ser usado para teste e desenvolvimento.
Especifique um nome de banco de dados e selecione Publicar para implantar o projeto no banco de dados de destino ou Gerar Script para gerar um script para revisar antes de executar.
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Publicar….
A caixa de diálogo de publicação é aberta, onde você estabelece a conexão do banco de dados de destino. Se você não tiver uma instância SQL existente para implantação, o LocalDB ((localdb)\MSSQLLocalDB
) será instalado com o Visual Studio e poderá ser usado para teste e desenvolvimento.
Especifique um nome de banco de dados e selecione Publicar para implantar o projeto no banco de dados de destino ou Gerar Script para gerar um script para revisar antes de executar.
Na exibição Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito do mouse no nó do projeto e selecione Publicar.
Dica
Se você não tiver uma instância do SQL disponível para implantação, a extensão de Projetos do Banco de Dados SQL poderá criar uma instância local do SQL Server para você em um novo contêiner. Com um runtime de contêiner, como o Docker Desktop, em execução, selecione Publicar em um novo contêiner de desenvolvimento local do SQL Server na lista suspensa.
Se você tiver uma instância SQL existente para implantação, selecione Publicar em um SQL Server existente e, em seguida, Não usar perfil se for solicitado um perfil de publicação.
Se você não tiver configurado uma conexão com um banco de dados de destino, será solicitado que você crie uma nova conexão. As novas entradas de conexão solicitam o nome do servidor, o método de autenticação e o nome do banco de dados.
Depois que a conexão for configurada, o processo de implantação será iniciado. Você pode optar por executar automaticamente a implantação (publicar) ou gerar um script para revisar antes de executar (gerar script).
A CLI do SqlPackage é usada para implantar um arquivo .dacpac
em um banco de dados de destino com a ação de publicação.
Por exemplo, para implantar um arquivo .dacpac
em um banco de dados de destino com base em uma cadeia de conexão:
sqlpackage /Action:Publish /SourceFile:bin/Debug/projectname.dacpac /TargetConnectionString:{yourconnectionstring}