Partilhar via


Tutorial: iniciar a partir de um banco de dados existente

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Os projetos SQL contêm arquivos declarativos (instrução CREATE) para todos os objetos em um banco de dados, como tabelas, exibições e procedimentos armazenados. Esses arquivos podem ser usados para criar novos bancos de dados, atualizar bancos de dados existentes, ou até mesmo apenas para rastrear o banco de dados no controle do código-fonte. Muitas vezes, estamos começando com um projeto SQL quando temos um banco de dados existente e queremos criar objetos no projeto SQL que correspondam ao banco de dados com o mínimo de esforço.

Algumas ferramentas de projetos SQL incluem uma única etapa para criar um novo projeto SQL a partir 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. Exceto para as instruções do Visual Studio (SQL Server Data Tools), o guia se concentra em projetos SQL no estilo SDK.

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

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

Com 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: criar 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 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 .

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

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

No do explorador de objetos do SQL Server no Visual Studio, clique com o botão direito do mouse no banco de dados a partir do qual você deseja criar um projeto e selecione Criar novo projeto....

Captura de tela da caixa de diálogo Importar banco de dados no Visual Studio.

Na caixa de diálogo Criar Novo Projeto, 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. As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, tipo de objeto. Você pode modificar as configurações de importação para alterar a estrutura de pastas ou para 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 do e os logs são armazenados em um arquivo no diretório do projeto em Import Schema Logs. Selecione Concluir.

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

Na vista do explorador de objetos de base de dados no VS Code ou no Azure Data Studio, selecione uma base de dados a partir da qual pretende criar um projeto. Clique com o botão direito do mouse no banco de dados e selecione Criar projeto a partir do banco de dados.

Captura de ecrã da caixa de diálogo Criar projeto a partir da base de dados no Azure Data Studio.

No Azure Data Studio, a caixa de diálogo Criar projeto a partir de um banco de dados requer que se selecione 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, tipo de objeto. Você pode selecionar uma estrutura de pastas diferente ou incluir permissões nos objetos que estão sendo importados antes de selecionar Criar.

No VS Code, os prompts de comando pedem um nome e um local do projeto. As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, tipo de objeto. Você pode selecionar uma estrutura de pastas diferente ou incluir permissões nos objetos que estão sendo importados antes do início da importação.

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

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

Etapa 2: Criar o projeto SQL

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 ficheiro .dacpac, que pode ser usado para desdobrar o projeto num banco de dados de destino e contém o modelo compilado da estrutura do 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).

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

Na área Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito 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).

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

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

Como alternativa, as etapas de criação do projeto e importação de objetos podem ser feitas separadamente.

Etapa 1: Criar um novo projeto SQL vazio

Começamos nosso projeto criando um novo projeto de banco de dados SQL antes de importar nossos objetos para ele.

Em seguida, selecione Arquivo, Novoe Projeto.

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

Captura de écran da caixa de diálogo Novo projeto.

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 Gestor de Soluções para edição.

Em seguida, selecione Arquivo, Novoe Projeto.

Na caixa de diálogo New Project, use o termo SQL Server na caixa de pesquisa. O resultado superior deve ser Projeto de Banco de Dados do SQL Server, estilo SDK (visualização).

Captura de écran da caixa de diálogo Novo projeto.

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 Gestor 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.

Captura de ecrã do Novo viewlet.

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 serem guardados.

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.

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

Etapa 2: Importar objetos de um banco de dados existente

No Gerenciador de Soluções , clique com o botão direito do mouse no nó do projeto e selecione Importar -> Banco de Dados.... 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 te ligaste ao banco de dados no explorador de objetos do SQL Server, ele está presente na lista de histórico do.

Captura de tela da caixa de diálogo Importar banco de dados no Visual Studio.

As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, tipo de objeto. Você pode modificar as configurações de importação para alterar a estrutura de pastas ou para 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 do e os logs são armazenados em um arquivo no diretório do projeto em Import Schema Logs. Selecione Concluir para retornar ao projeto.

Usaremos a CLI SqlPackage para importar objetos de um banco de dados existente para o novo projeto de banco de dados SQL que criamos 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 pastas aninhadas de esquema e tipo de objeto.

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

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

Note

A extensão Projetos do Banco de Dados SQL no VS Code não oferece suporte à importação de objetos de um banco de dados para um projeto. Use a extensão Projetos do Banco de Dados SQL no Azure Data Studio para importar objetos de um banco de dados ou siga opção 1 para criar um novo projeto a partir de um banco de dados existente no VS Code.

Na extensão Projetos do Banco de Dados SQL no Azure Data Studio, abra a vista Projetos de Banco de Dados. Clique com o botão direito do mouse no nó do projeto e selecione Atualizar projeto do banco de dados.

Captura de ecrã da caixa de diálogo Atualizar Base de Dados no Azure Data Studio.

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 estará presente na lista de histórico .

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

A CLI SqlPackage pode ser usada para extrair o esquema de um banco de dados existente para um arquivo .dacpac ou arquivos .sql individuais. O seguinte comando SqlPackage extrai o esquema de uma base de dados para um ficheiro .sql organizado por pastas aninhadas por esquema e tipo de objeto.

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

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

Etapa 3: Criar o projeto SQL

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 ficheiro .dacpac, que pode ser usado para desdobrar o projeto num banco de dados de destino e contém o modelo compilado da estrutura do 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).

Na área Projetos de Banco de Dados do VS Code ou do Azure Data Studio, clique com o botão direito 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).