Compartilhar via


Tutorial: iniciar a partir de um banco de dados existente

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureSQL no Microsoft Fabric

Os projetos SQL contêm arquivos declarativos (CREATE instrução) para todos os objetos em um banco de dados, como tabelas, exibições e procedimentos armazenados. Você pode usar esses arquivos para criar novos bancos de dados, atualizar bancos de dados existentes ou acompanhar o banco de dados no controle do código-fonte. Muitas vezes, você começa com um projeto SQL quando tem um banco de dados existente e deseja criar objetos no projeto SQL que correspondam ao banco de dados com esforço mínimo.

Algumas ferramentas de projeto do SQL incluem uma única etapa para criar um novo projeto SQL de um banco de dados existente. Outras ferramentas exigem algumas etapas para criar um novo projeto SQL e, em seguida, importar objetos de um banco de dados existente. Com exceção das instruções Visual Studio (SQL Server Data Tools), este guia se concentra em projetos SQL no estilo SDK.

Com a opção 1 neste tutorial, você:

  • Etapa 1: Criar um novo projeto SQL de um banco de dados existente
  • Etapa 2: Compilar o projeto SQL

Com a opção 2 neste tutorial, você:

  • Etapa 1: Criar um novo projeto SQL vazio
  • Etapa 2: Importar objetos de um banco de dados existente
  • Etapa 3: Compilar o projeto SQL

Prerequisites

# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage

# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates

Note

Para concluir o tutorial, você precisa ter acesso a uma instância de SQL do Azure ou SQL Server. Você pode desenvolver localmente gratuitamente com SQL Server developer edition em Windows ou em containers.

Opção 1: criar um novo projeto SQL a partir de um banco de dados existente

Etapa 1: criar um projeto SQL a partir de um banco de dados existente

No SQL Server Pesquisador de Objetos no Visual Studio, clique com o botão direito do mouse no banco de dados do qual você deseja criar um project e selecione Criate New Project... .

Screenshot da caixa de diálogo Importar Banco de Dados em Visual Studio.

Na caixa de diálogo Criar Novo Projeto, insira um nome do projeto. O nome do projeto não precisa corresponder a um nome de banco de dados. Verifique e modifique o local do projeto conforme necessário. As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, por tipo de objeto. Você pode modificar as configurações de importação para alterar a estrutura de pastas ou incluir permissões nos objetos que estão sendo importados. Inicie a importação.

A caixa de diálogo Importar Banco de Dados exibe o progresso da importação como mensagens. Quando a importação for concluída, você poderá ver os objetos importados no Gerenciador de Soluções. O processo armazena os logs em um arquivo no diretório do projeto em Import Schema Logs. Selecione Concluir.

A opção 1 não está disponível para projetos SQL no estilo SDK no Visual Studio. Em vez disso, use a opção 2.

No modo de exibição do pesquisador de objetos de banco de dados em Visual Studio Code, selecione um banco de dados do qual você deseja criar um projeto. Clique com o botão direito do mouse no banco de dados e selecione Criar Projeto do Banco de Dados.

Captura de tela da caixa de diálogo Criar projeto a partir de banco de dados no Visual Studio Code.

No Visual Studio Code, a caixa de diálogo Criar projeto a partir do banco de dados requer o nome e o local do projeto. As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, por tipo de objeto. Você pode selecionar uma estrutura de pasta diferente ou optar por incluir permissões nos objetos que estão sendo importados antes de selecionar Criar.

Abra a visualização Projetos de Banco de Dados para ver o novo projeto e as definições de objeto importado.

A opção 1 não está disponível para SQL Server Management Studio. Em vez disso, use a opção 2.

A opção 1 não está disponível para a linha de comando. Em vez disso, use a opção 2.

Etapa 2: compilar o projeto SQL

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 compilação é um arquivo .dacpac, que você pode usar para implantar o projeto em um banco de dados de destino. Esse arquivo contém o modelo compilado do esquema de banco de dados.

Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Build.

A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, a janela de saída os exibirá. Em uma compilação bem-sucedida, o artefato de build (.dacpac arquivo) é criado e sua localização é incluída no resultado da compilação (o padrão é bin\Debug\projectname.dacpac).

A opção 1 não está disponível para projetos SQL no estilo SDK no Visual Studio. Em vez disso, use a opção 2.

Na exibição Database Projects de Visual Studio Code, clique com o botão direito do mouse no nó do projeto e selecione Build.

A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, a janela de saída os exibirá. Em uma compilação bem-sucedida, o artefato de compilação (.dacpac arquivo) é criado e sua localização é incluída na saída de compilação (o padrão é bin/Debug/projectname.dacpac).

A opção 1 não está disponível para SQL Server Management Studio. Em vez disso, use a opção 2.

A opção 1 não está disponível para a linha de comando. Em vez disso, use a opção 2.

Opção 2: criar um novo projeto SQL vazio e importar objetos de um banco de dados existente

Como alternativa, você pode separar as etapas de criação e importação de objeto do projeto.

Etapa 1: criar um novo projeto SQL vazio

Inicie seu projeto criando um novo projeto de banco de dados SQL antes de importar seus objetos para ele.

Selecione File, New e Project.

Na caixa de diálogo New Project, use o termo SQL Server na caixa de pesquisa. O resultado superior é SQL Server Database Project.

Captura de tela da caixa de diálogo Novo Projeto.

Selecione Avançar para prosseguir para a próxima etapa. Insira 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 fica visível no Gerenciador de Soluções para edição.

Selecione File, New e Project.

Na caixa de diálogo New Project, use o termo SQL Server na caixa de pesquisa. O principal resultado é Projeto de Banco de Dados do SQL Server, estilo SDK (versão prévia).

Captura de tela da caixa de diálogo Novo Projeto.

Selecione Avançar para prosseguir para a próxima etapa. Insira 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 fica visível no Gerenciador de Soluções para edição.

Na exibição Database Projects de Visual Studio Code, selecione o botão New Project.

Captura de tela do novo viewlet.

O primeiro prompt determina qual modelo de projeto usar, principalmente com base em se a plataforma de destino é SQL Server ou SQL do Azure. Se solicitado a selecionar uma versão específica do SQL, escolha a versão que corresponde ao banco de dados de destino. Se você não souber a versão do banco de dados de destino, escolha a versão mais recente, pois o valor poderá 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, .sqlproj o arquivo e outros conteúdos do projeto em que residir.

Quando solicitado a criar um projeto no estilo SDK, selecione Sim.

Quando concluído, o projeto vazio é aberto e fica visível no modo de exibição Projetos de Banco de Dados para edição.

Selecione File, New e Project.

Na caixa de diálogo New Project , selecione SQL Database Project.

Captura de tela da caixa de diálogo Novo Projeto.

Selecione Avançar para prosseguir para a próxima etapa. Insira 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 fica visível no Gerenciador de Soluções para edição.

Quando você instala os templates de .NET para projetos Microsoft.Build.Sql, 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.

# create a new SQL database project
dotnet new sqlproj -n MyDatabaseProject

Etapa 2: importar objetos de um banco de dados existente

Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Import -> Database... . Se essa opção estiver desabilitada, seu projeto de banco de dados poderá ter objetos criados nele. Você pode excluir os objetos ou criar um novo projeto.

Na caixa de diálogo Importar banco de dados, selecione a conexão com o banco de dados do qual deseja importar objetos. Se você se conectou ao banco de dados em SQL Server Pesquisador de Objetos, ele aparecerá na lista history.

Screenshot da caixa de diálogo Importar Banco de Dados em Visual Studio.

As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, por tipo de objeto. Você pode modificar as configurações de importação para alterar a estrutura de pastas ou incluir permissões nos objetos que estão sendo importados. Inicie a importação.

Enquanto a importação prossegue, o progresso é exibido como mensagens na caixa de diálogo Importar banco de dados. Quando a importação é concluída, os objetos importados ficam visíveis no Gerenciador de Soluções e os logs são armazenados em um arquivo no diretório do projeto em Import Schema Logs. Selecione Concluir para retornar ao projeto.

Use a CLI do SqlPackage para importar objetos de um banco de dados existente para o novo projeto de banco de dados SQL criado no Visual Studio na etapa 1. O comando SqlPackage a seguir importa o esquema de um banco de dados para uma pasta MyDatabaseProject organizada por esquema aninhado e pastas de tipo de objeto.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

Quando você coloca essas pastas em uma pasta de projeto de banco de dados SQL no estilo SDK, elas são incluídas automaticamente no projeto sem a necessidade de importá-las ou modificar o arquivo de projeto do SQL.

Na extensão Projetos do Banco de Dados SQL em Visual Studio Code, abra a exibição Database Projects. Clique com o botão direito do mouse no nó e selecione Atualizar projeto por meio do banco de dados.

Captura de tela da caixa de diálogo Atualizar Banco de Dados no Visual Studio Code.

Na caixa de diálogo Atualizar banco de dados, selecione a conexão com o banco de dados do qual deseja importar objetos. Se você se conectou ao banco de dados na visualização Conexões, ele aparecerá na lista de histórico.

Selecione Exibir alterações na comparação de esquema para revisar e escolha um subconjunto de objetos para importar ou Aplicar todas as alterações para importar todos os objetos.

Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Importar do banco de dados... .

Na caixa de diálogo Importar banco de dados, selecione a conexão com o banco de dados do qual deseja importar objetos.

Captura de tela da caixa de diálogo Importar Banco de Dados no SSMS.

As configurações de importação padrão importam todos os objetos do banco de dados para o projeto e os organizam em pastas por esquema e tipo de objeto, mas cancelam a importação se algum objeto no projeto for substituído. Você pode modificar a importação para atualizar o projeto com objetos do banco de dados selecionando Substituir objetos existentes no projeto. Selecione Importar para iniciar a importação.

Quando a importação for concluída, Gerenciador de Soluções será atualizado com os objetos importados.

Use a CLI do SqlPackage para extrair o esquema de um banco de dados existente para um .dacpac arquivo ou arquivos individuais .sql . O comando SqlPackage a seguir extrai o esquema de um banco de dados em arquivos .sql organizados por esquema e tipo de objeto aninhados.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

Quando você coloca essas pastas em uma pasta de projeto de banco de dados SQL no estilo SDK, elas são incluídas automaticamente no projeto sem a necessidade de importá-las ou modificar o arquivo de projeto do SQL.

Etapa 3: compilar o projeto SQL

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 compilação é um arquivo .dacpac, que você pode usar para implantar o projeto em um banco de dados de destino. Esse arquivo contém o modelo compilado do esquema de banco de dados.

Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Build.

A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, a janela de saída os exibirá. Em uma compilação bem-sucedida, o artefato de compilação (.dacpac arquivo) é criado e sua localização é incluída na saída de compilação (o padrão é bin\Debug\projectname.dacpac).

Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Build.

A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, a janela de saída os exibirá. Em uma compilação bem-sucedida, o artefato de compilação (.dacpac arquivo) é criado e sua localização é incluída na saída de compilação (o padrão é bin\Debug\projectname.dacpac).

Na exibição Database Projects de Visual Studio Code, clique com o botão direito do mouse no nó do projeto e selecione Build.

A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, a janela de saída os exibirá. Em uma compilação bem-sucedida, o artefato de compilação (.dacpac arquivo) é criado e sua localização é incluída na saída de compilação (o padrão é bin/Debug/projectname.dacpac).

Em Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Build.

Captura de tela do Gerenciador de Soluções no SQL Server Management Studio com a opção Compilar disponível.

A janela de saída é aberta automaticamente para exibir o processo de build. Se houver erros ou avisos, a janela de saída os exibirá. Em uma compilação bem-sucedida, o artefato de compilação (.dacpac arquivo) é criado e sua localização é incluída na saída de compilação (o padrão é bin\Debug\projectname.dacpac).

Você pode criar projetos de banco de dados SQL na linha de comando usando o dotnet build comando.

dotnet build

# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj

A saída do build inclui todos os erros ou avisos, bem como os arquivos específicos e números de linha onde ocorrem. Em uma compilação bem-sucedida, o artefato de compilação (.dacpac arquivo) é criado e sua localização é incluída na saída de compilação (o padrão é bin/Debug/projectname.dacpac).