Introdução aos projetos de banco de dados SQL
Aplica-se a: SQL Server 2022 (16.x)
Banco de Dados SQL do Azure
Instância Gerenciada 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 para um único banco de dados, 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 em fluxos de trabalho de integração contínua e implantação contínua (CI/CD) conhecidos como uma prática recomendada de desenvolvimento.
Este artigo descreve a criação de um novo projeto SQL, a adição de objetos ao projeto e a criação e implantação do projeto. Exceto para as instruções do Visual Studio (SQL Server Data Tools), o guia se concentra em projetos SQL no estilo SDK.
Pré-requisitos
- SDK do .NET 8
- da CLI SqlPackage
- Modelos .NET Microsoft.Build.Sql.Templates
# 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 acessar uma instância do SQL ou do SQL Server do Azure. Você pode desenvolver localmente gratuitamente com SQL Server developer edition no Windows ou em contêineres .
Etapa 1: Criar um novo projeto
Começamos nosso projeto criando um novo projeto de banco de dados SQL antes de adicionar manualmente objetos a ele. Há outras maneiras de criar um projeto que permitem preencher imediatamente o projeto com objetos de um banco de dados existente, como usar as ferramentas de comparação de esquema .
Selecione Arquivo, Novoe depois Projeto.
Na caixa de diálogo New Project, use o termo SQL Server na caixa de pesquisa. O resultado principal deve ser Projeto de Base 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 projeto. O projeto vazio é aberto e visível no Explorador de Soluções para edição.
Selecione Arquivo, e Novo, depois Projeto.
Na caixa de diálogo New Project, use o termo SQL Server na caixa de pesquisa. O principal resultado deve ser Projeto de Base de Dados do SQL Server, em estilo SDK (pré-visualização).
Selecione Avançar para prosseguir para o próximo passo. 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 projeto. O projeto vazio é aberto e visível no Explorador de Soluções para edição.
Na vista 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 Azure SQL. Se for solicitado a selecionar 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" que aparece, selecione um diretório para a pasta do projeto, o arquivo .sqlproj
e outros conteúdos ficarem.
Quando lhe for perguntado se deseja criar um projeto no estilo SDK, selecione Sim.
Uma vez concluído, o projeto vazio é aberto e visível na vista 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 a partir da 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 Explorador de Soluções , clique com o botão direito no nó do projeto e selecione Adicionar, depois 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 modos de exibição, procedimentos armazenados e funções. Acesse a caixa de diálogo clicando com o botão direito do mouse no nó do projeto em Gerenciador de Soluções e selecionando Adicionare, em seguida, o tipo de objeto desejado. Os ficheiros no projeto podem ser organizados em pastas através 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 Adicionare, em seguida, Novo Item. A caixa de diálogo Adicionar Novo Item é exibida, selecione Mostrar Todos os Modelos e 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 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 modos de exibição, procedimentos armazenados e funções. Acesse a caixa de diálogo clicando com o botão direito do mouse no nó do projeto em Gerenciador de Soluções e selecionando Adicionare, em seguida, o tipo de objeto desejado após Mostrar Todos os Modelos. Os ficheiros no projeto podem ser organizados em pastas através da opção Nova Pasta em Adicionar.
Na vista Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito do rato no nó do projeto e selecione Adicionar Tabela. Na caixa de diálogo exibida, especifique o nome da tabela.
A tabela é aberta no editor de texto com a definição de 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 através do menu de contexto no nó do projeto, como exibições, procedimentos armazenados e funções. Acede à caixa de diálogo clicando com o botão direito do rato no nó do projeto na vista Projetos de Base 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 através da opção Nova Pasta em Adicionar.
Os arquivos podem ser adicionados ao projeto criando-os no diretório do projeto ou em 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 para uma tabela pode ser usado como um ponto de partida para criar um novo objeto de tabela no projeto:
CREATE TABLE [dbo].[Table1]
(
[Id] INT NOT NULL PRIMARY KEY
);
Etapa 3: Construir o projeto
O processo de compilação valida as relações entre objetos e a sintaxe em relação à plataforma de destino especificada no arquivo de projeto. A saída de artefato do processo de compilação é 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 Criar.
A janela de saída abre automaticamente para exibir o processo de compilação. 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, seu local é incluído 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 Criar.
A janela de saída abre automaticamente para exibir o processo de compilação. 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, seu local é incluído na saída da compilação (o padrão é bin\Debug\projectname.dacpac
).
No modo de 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 Criar.
A janela de saída abre automaticamente para exibir o processo de compilação. 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, seu local é incluído 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 de compilação 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, seu local é incluído 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 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 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 de script para gerar um script a ser revisado 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 o utilizador estabelece a ligação com o 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 de script para gerar um script a ser revisado antes de executar.
Na vista Projetos de Base de Dados do VS Code ou do Azure Data Studio, clique com o botão direito no nó do projeto e selecione Publicar.
Dica
Se você não tiver uma instância SQL disponível para implantação, a extensão Projetos do Banco de Dados SQL poderá criar uma instância local do SQL Server para você em um novo contêiner. Com um ambiente de execução de contêiner, como o Docker Desktop, em funcionamento, selecione Publicar para um novo contêiner de desenvolvimento local do SQL Server na lista suspensa.
Se tiver uma instância SQL existente para implantação, selecione Publicar em um servidor SQL existente e, em seguida, Não usar perfil se for solicitado um perfil de publicação.
Se você não configurou 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 SqlPackage é usada para implantar um arquivo .dacpac
em um banco de dados de destino através da ação de publicar .
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}