Partilhar via


Tutorial: iniciar a partir de um banco de dados existente

Aplica-se a: SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceBase de dados SQL em Microsoft Fabric

Os projetos SQL contêm ficheiros declarativos (CREATE statement) para todos os objetos numa base de dados, como tabelas, views e procedimentos armazenados. Pode usar estes ficheiros para criar novas bases de dados, atualizar bases de dados existentes ou rastrear a base de dados no controlo de versão. Muitas vezes, começa-se com um projeto SQL quando se tem uma base de dados existente e se quer criar objetos no projeto SQL que correspondam à base de dados com o mínimo esforço.

Algumas ferramentas de projetos SQL incluem um único passo para criar um novo projeto SQL a partir de uma base 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 pelas instruções do Visual Studio (SQL Server Data Tools), este guia foca-se em projetos SQL ao estilo SDK.

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

  • Passo 1: Criar um novo projeto SQL a partir de uma base de dados existente
  • Passo 2: Construir o projeto SQL

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

  • Passo 1: Criar um novo projeto SQL vazio
  • Passo 2: Importar objetos de uma base de dados existente
  • Passo 3: Construir 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 completar o tutorial, precisas de acesso a uma instância do SQL do Azure ou SQL Server. Pode desenvolver localmente gratuitamente com SQL Server developer edition no Windows ou em containers.

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

A partir do SQL Server Object Explorer no Visual Studio, clique com o botão direito na base de dados a partir da qual quer criar um project e selecione Criar Nova Project... .

Captura de ecrã do diálogo Importar Base de Dados em Visual Studio.

No diálogo Criar Novo Projeto, insira um nome de projeto. O nome do projeto não precisa de corresponder a um nome de base 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.

O diálogo Importar Base de Dados mostra o progresso da importação como mensagens. Quando a importação termina, pode ver os objetos importados no Explorador de Soluções. O processo armazena os registos num ficheiro no diretório do projeto sob Import Schema Logs. Selecione Concluir.

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

Na vista do explorador de objetos da base de dados no Visual Studio Code, selecione uma base de dados a partir da qual pretende criar um projeto. Clique com o botão direito na base de dados e selecione Criar Project a partir de Base de Dados.

Captura de ecrã do Criar projeto a partir do diálogo da base de dados em Visual Studio Code.

Em Visual Studio Code, o diálogo Criar projeto a partir da base de dados requer o nome e localização do projeto. As configurações de importação padrão importam os objetos para pastas por esquema e, em seguida, tipo de objeto. Pode selecionar uma estrutura de pastas diferente ou escolher incluir permissões nos objetos importados antes de selecionar Criar.

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 o SQL Server Management Studio. Em vez disso, use opção 2.

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 do artefacto do processo de compilação é um .dacpac ficheiro, que podes usar para implantar o projeto numa base de dados alvo. Este ficheiro contém o modelo compilado do esquema da base de dados.

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

A janela de saída abre automaticamente para exibir o processo de compilação. Se houver erros ou avisos, a janela de saída mostra-os. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin\Debug\projectname.dacpac).

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

Na vista Database Projects da Visual Studio Code, clique com o botão direito no nó do projeto e selecione Build.

A janela de saída abre automaticamente para exibir o processo de compilação. Se houver erros ou avisos, a janela de saída mostra-os. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin/Debug/projectname.dacpac).

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

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

Em alternativa, podes separar os passos de criação do projeto e de importação de objetos.

Etapa 1: Criar um novo projeto SQL vazio

Comece o seu projeto criando um novo projeto de base de dados SQL antes de importar os seus objetos para ele.

Selecione File, Novo e depois Project.

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

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

Selecione Avançar para prosseguir para a próxima etapa. Introduza um nome de projeto, que não precisa de corresponder ao nome de uma base de dados. Verifique e modifique o local do projeto conforme necessário.

Selecione Criar para criar o projeto. O projeto vazio abre e é visível no Explorador de Soluções para edição.

Selecione File, Novo e depois Project.

Na caixa de diálogo New Project, use o termo SQL Server na caixa de pesquisa. O resultado principal é SQL Server Database Project, estilo SDK (pré-visualização).

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

Selecione Avançar para prosseguir para a próxima etapa. Introduza um nome de projeto, que não precisa de corresponder ao nome de uma base de dados. Verifique e modifique o local do projeto conforme necessário.

Selecione Criar para criar o projeto. O projeto vazio é aberto e está visível no Explorador de Soluções para edição.

Na vista Projetos de Base de Dados da Visual Studio Code, selecione o botão Novo Project.

Captura de ecrã do Novo viewlet.

O primeiro prompt determina qual o modelo de projeto a usar, principalmente com base na plataforma alvo sendo SQL Server ou SQL do Azure. Se for solicitado a selecionar uma versão específica do SQL, escolha a versão que corresponde à base de dados alvo. Se não souberes a versão da base de dados de destino, escolhe a versão mais recente, pois o valor pode ser modificado mais tarde.

Insira um nome de projeto na entrada de texto exibida, que não precisa corresponder a um nome de banco de dados.

No diálogo Selecionar uma Pasta que aparece, selecione um diretório para a pasta, .sqlproj ficheiro e outros conteúdos do projeto onde residir.

Quando lhe for perguntado se deseja criar um projeto no estilo SDK, selecione Sim.

Quando concluído, o projeto vazio abre-se e fica visível na vista de Projetos de Base de Dados para edição.

Selecione File, Novo e depois Project.

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

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

Selecione Avançar para prosseguir para a próxima etapa. Introduza um nome de projeto, que não precisa de corresponder ao nome de uma base 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.

Quando instalar os modelos .NET para projetos Microsoft.Build.Sql, pode criar um novo projeto de base 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 Explorador de Soluções, clique com o botão direito no nó do projeto e selecione Importar - Base de Dados... . Se esta opção estiver desativada, o seu projeto de base de dados pode ter objetos criados. 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 à base de dados em SQL Server Object Explorer, aparece na lista history.

Captura de ecrã do diálogo Importar Base de Dados em 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 está concluída, os objetos importados ficam visíveis no Explorador de Soluções e os registos são armazenados num ficheiro no diretório do projeto sob Import Schema Logs. Selecione Concluir para retornar ao projeto.

Use a CLI do SqlPackage para importar objetos de uma base de dados existente para o novo projeto de base de dados SQL que criou no Visual Studio no passo 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 colocas estas pastas numa pasta de projeto de base de dados SQL ao estilo SDK, são automaticamente incluídas no projeto sem necessidade de as importar ou modificar o ficheiro SQL.

Na extensão SQL Database Projects em Visual Studio Code, abra a vista Database Projects. Clique com o botão direito do mouse no nó do projeto e selecione Atualizar projeto do banco de dados.

Captura de ecrã do diálogo Atualizar Base de Dados em 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 te ligaste à base de dados na vista Conexões , aparece 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.

Em Explorador de Soluções, clique com o botão direito no nó do projeto e selecione Importar da Base 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 ecrã do diálogo Importar Base de Dados no SSMS.

As definições de importação por defeito importam todos os objetos da base de dados para o projeto e organizam-nos em pastas por esquema e tipo de objeto, mas cancelam a importação se algum objeto do projeto for sobrescrevido. Pode modificar a importação para atualizar o projeto com objetos da base de dados selecionando Sobrescrever objetos existentes no projeto. Selecione Importar para iniciar a importação.

Quando a importação termina, Explorador de Soluções é atualizado com os objetos importados.

Use a CLI SqlPackage para extrair o esquema de uma base de dados existente para um .dacpac ficheiro ou ficheiros individuais .sql . O seguinte comando SqlPackage extrai o esquema de uma base de dados para .sql ficheiros organizados por pastas de esquema aninhado e tipos de objetos.

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

Quando colocas estas pastas numa pasta de projeto de base de dados SQL ao estilo SDK, são automaticamente incluídas no projeto sem necessidade de as importar ou modificar o ficheiro 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 do artefacto do processo de compilação é um .dacpac ficheiro, que podes usar para implantar o projeto numa base de dados alvo. Este ficheiro contém o modelo compilado do esquema da base de dados.

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

A janela de saída abre automaticamente para exibir o processo de compilação. Se houver erros ou avisos, a janela de saída mostra-os. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin\Debug\projectname.dacpac).

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

A janela de saída abre automaticamente para exibir o processo de compilação. Se houver erros ou avisos, a janela de saída mostra-os. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin\Debug\projectname.dacpac).

Na vista Database Projects da Visual Studio Code, clique com o botão direito no nó do projeto e selecione Build.

A janela de saída abre automaticamente para exibir o processo de compilação. Se houver erros ou avisos, a janela de saída mostra-os. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin/Debug/projectname.dacpac).

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

Captura de ecrã de Explorador de Soluções em SQL Server Management Studio com a opção Build disponível.

A janela de saída abre automaticamente para exibir o processo de compilação. Se houver erros ou avisos, a janela de saída mostra-os. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin\Debug\projectname.dacpac).

Podes construir projetos de bases de dados SQL a partir da linha de comandos usando o dotnet build comando.

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. Numa build bem-sucedida, o artefacto da build (.dacpac ficheiro) é criado e a sua localização é incluída na saída da build (o padrão é bin/Debug/projectname.dacpac).