Partilhar via


Desenvolver projetos de armazém no Visual Studio Code

Aplica-se a: ✅ Armazém em Microsoft Fabric

Aprenda a configurar um projeto de base de dados para o Fabric Data Warehouse no Visual Studio Code. Você criará um novo projeto, definirá objetos de esquema, compilará e validará o projeto e publicará para o seu armazém.

Pré-requisitos

Antes de começar, certifique-se de que:

  • Ter acesso a um item de Armazém existente num espaço de trabalho do Fabric com permissões de Colaborador ou superior.
  • Instala Visual Studio Code na tua estação de trabalho.
  • Instala o SDK .NET para construir e publicar projetos de bases de dados.
  • Instale duas extensões Visual Studio Code: SQL Database Projects e SQL Server (mssql).
    • Pode instalar as extensões necessárias diretamente a partir do marketplace do Visual Studio Code pesquisando por "SQL Database Projects" ou "SQL Server (mssql)".

Criar um novo projeto de banco de dados

Você pode criar um projeto de banco de dados do zero ou de um armazém de dados existente.

Opção 1: Criar um novo projeto de base de dados a partir da Paleta de Comandos no Visual Studio Code

  1. Abrir Visual Studio Code.

  2. Abra a Paleta de Comandos (Ctrl+Shift+P ou Cmd+Shift+P no Mac).

  3. Pesquisar por Projetos de Banco de Dados: Novo.

  4. Selecione Tipo de Projeto de Base de Dados como SQL Server Base de Dados.

  5. Escolha um nome de projeto e selecione o local da pasta local.

  6. Escolha Synapse Data Warehouse em Microsoft Fabric como plataforma alvo.

  7. Quando solicitado, selecione Sim (recomendado) para um projeto no estilo SDK.

    Importante

    Apenas projetos no estilo SDK são suportados para o Fabric Data Warehouse.

  8. Selecione Sim para a pergunta Deseja configurar a compilação do projeto SQL como a configuração de compilação padrão para esta pasta?

  9. Selecione Sim para confiar nos autores dos arquivos nesta pasta.

Opção 2: Criar um novo projeto de banco de dados a partir da extensão Projetos de Banco de Dados

  1. Em Visual Studio Code, escolha o ícone de extensão Projetos de Base de Dados a partir da barra Activity.

  2. No painel Projetos de Banco de Dados , selecione Criar novo.

    Captura de ecrã de Visual Studio Code a mostrar o painel de extensão Projetos de Base de Dados e o botão Criar novo.

  3. Selecione Tipo de Projeto de Base de Dados como SQL Server Base de Dados.

  4. Escolha um nome de projeto e selecione o local da pasta local.

  5. Escolha Synapse Data Warehouse em Microsoft Fabric como plataforma alvo.

  6. Quando solicitado, selecione Sim (recomendado) para um projeto no estilo SDK. Apenas projetos do tipo SDK são suportados para o Fabric Data Warehouse.

  7. Selecione Sim para a pergunta Deseja configurar a compilação do projeto SQL como a configuração de compilação padrão para esta pasta?

  8. Selecione Sim para confiar nos autores dos arquivos nesta pasta.

Opção 3: Criar um projeto de banco de dados a partir de um depósito existente

  1. Primeiro, crie um novo perfil de ligação para o seu armazém no Visual Studio Code.

    1. Selecione a extensão SQL Server na Visual Studio Code a partir da barra Activity.
    2. Forneça um nome de perfil. Escolha Parâmetros.
    3. Forneça o nome do servidor. No portal Fabric, nas Definições do seu armazém, selecione endpoint SQL e copie a cadeia fornecida. Este é o nome do servidor do seu armazém, e é diferente do endpoint de análise SQL. É semelhante a <server unique ID>.datawarehouse.fabric.microsoft.com.
    4. Para tipo de autenticação, use Microsoft Entra ID - Universal com suporte a MFA. Autentique com o seu Microsoft Entra ID.
    5. Forneça outras informações como padrão ou desejado e selecione Conectar.
  2. No Visual Studio Code, escolha o ícone de extensão Database Projects na Barra de Atividade.

  3. Selecione o botão ... de opções no painel Projetos de Banco de Dados e escolha a opção Criar Projeto a partir do Banco de Dados .

    Captura de ecrã de Visual Studio Code a mostrar a opção Criar Projeto a partir da Base de Dados.

  4. Escolha o seu armazém a partir dos perfis de ligação existentes.

  5. Forneça um nome de projeto e escolha uma pasta de projeto em sua estação de trabalho.

  6. Para estrutura de pastas, selecione Esquema/Tipo de objeto (recomendado).

  7. Em Incluir permissões no projeto, selecione Não (padrão).

  8. Para projeto no estilo SDK, selecione Sim (recomendado).

  9. Selecione Sim para a pergunta Deseja configurar a compilação do projeto SQL como a configuração de compilação padrão para esta pasta?

  10. O Visual Studio Code extrai ficheiros de projeto de um repositório.

    Captura de ecrã de Visual Studio Code mostrando a notificação de progresso dos ficheiros de extrair.

  11. Após a extração bem-sucedida, você verá a seguinte notificação: "Extrair arquivos de projeto: bem-sucedido. Concluído".

  12. Selecione Sim para confiar nos autores dos arquivos nesta pasta.

Novo projeto de banco de dados para seu armazém

O novo projeto de banco de dados para seu depósito é exibido no menu Projetos do Banco de Dados SQL.

Captura de ecrã de Visual Studio Code mostrando o novo projeto de base de dados para AdventureWorksDW2022.

A estrutura do seu projeto tem esta aparência:

 | Project Name
 ├── Database References
 ├── SQLCMD Variables
 ├── .vscode/
 └── schema/
     ├── Functions
     ├── Tables
     └── Views

Configurar o projeto de banco de dados

  1. Clique com o botão direito do mouse no projeto e selecione Editar arquivo .sqlproj.

    Captura de ecrã do Visual Studio Code e do menu de contexto de um projeto de base de dados. A opção Editar ficheiro sqlproj está destacada.

  2. Verifique se a versão mais recente do Microsoft.Build.Sql SDK está no arquivo. Por exemplo, no arquivo .sqlproj, mude a versão de Microsoft.Build.Sql para 2.0.0.

       <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />
    
  3. Verifique a versão mais recente do Microsoft.SqlServer.Dacpacs.FabricDw e adicione uma referência dentro do nó XML Project/ItemGroup. Por exemplo:

       <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
    

    É assim que seu projeto de banco de dados para um depósito deve ficar após as atualizações.

     <?xml version="1.0" encoding="utf-8"?>
     <Project DefaultTargets="Build">
       <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />
       <PropertyGroup>
         <Name>DatabaseProject715wh</Name>
         <ProjectGuid>{2E278BCC-F118-4DDB-9255-94697F2930B4}</ProjectGuid>
         <DSP>Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider</DSP>
         <ModelCollation>1033, CI</ModelCollation>
       </PropertyGroup>
       <ItemGroup>
         <None Include=".vscode\tasks.json" />
         <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
       </ItemGroup>
       <Target Name="BeforeBuild">
         <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" />
       </Target>
     </Project>
    
  4. Salve seu .sqlproj arquivo. No prompt para recarregar seu projeto de banco de dados, selecione Sim.

Importante

A equipa do Fabric Data Warehouse lança frequentemente novas versões dos pacotes NuGet. Como os valores de versão padrão no arquivo podem mudar ao longo do tempo, atualize-os no seu projeto local para permanecer alinhado com as versões mais recentes disponíveis no NuGet para .sqlproj.

Adicionar ou atualizar objetos de banco de dados

Você pode definir ou modificar objetos de banco de dados, como tabelas, exibições, procedimentos armazenados e funções em seu projeto de depósito.

Na pasta de um esquema, por exemplo dbo, adicione, elimine ou faça alterações nas definições T-SQL de objetos no seu armazém de dados. Para modificar um objeto existente, abra o arquivo correspondente .sql e atualize a definição conforme necessário.

Quando você cria o projeto, todos os objetos novos e atualizados são validados e incluídos no arquivo {project folder location}/bin/debug/{project name}.dacpac dacpac gerado.

As alterações feitas aqui são apenas ao projeto da base de dados e não são refletidas no Microsoft Fabric até compilar e publicar o seu projeto.

Construir e validar o projeto

  1. Abra o projeto de banco de dados se ainda não estiver aberto.

  2. Clique com o botão direito do mouse no projeto e selecione Construir para construir o projeto de banco de dados.

    Captura de ecrã de Visual Studio Code a mostrar a opção de construir o projeto de base de dados.

  3. A compilação deve ser bem-sucedida. Corrija quaisquer erros com base nas mensagens fornecidas na saída do evento build.

Observação

Atualmente, o seu terminal Visual Studio Code predefinido deve ser PowerShell para que o processo Build na extensão Projetos de Base de Dados tenha sucesso. Na Paleta de Comandos, escolha Terminal: Selecione Perfil Padrão e, em seguida, selecione PowerShell.

Publicar no Fabric Data Warehouse

Depois de construir seu projeto, publique-o em seu armazém de destino. A publicação cria um script para resolver a diferença entre o projeto de banco de dados e o armazém de dados real e executa um script para fazer com que o armazém de dados corresponda ao projeto. O modelo compilado do esquema de depósito em um arquivo .dacpac pode ser implantado em um depósito de destino.

  1. Clique com o botão direito do mouse no projeto e selecione Publicar.

  2. Escolha Publicar em um servidor SQL existente.

  3. Em Selecionar perfil de publicação para carregar, na primeira vez que publicar, escolha Não usar perfil.

    • Você pode salvar opções para publicar o seu armazém em um perfil de publicação. Quando terminares, recebes a opção, numa notificação do Visual Studio Code, de guardar as opções de publicação que acabaste de usar num ficheiro de perfil de publicação.
    • Poderás reutilizar o perfil de publicação no futuro ao publicares o teu projeto no teu armazém. Você pode ter diferentes opções de perfil para diferentes armazéns ou para ambientes diferentes nos seus ambientes de desenvolvimento/teste/aceitação/produção.
  4. Escolha o perfil de ligação Fabric Data Warehouse da lista.

  5. Escolha o nome do armazém de destino.

  6. Na opção Escolher ação , você pode Gerar Script para revisar o script antes de publicar ou publicar o projeto em um depósito.

    • Na primeira vez que quiser implantar alterações, você deve cuidadosamente Gerar Script e revisar o T-SQL resultante a ser aplicado ao depósito de destino. Nenhuma alteração é feita no armazém de destino.
    • Se você escolher Publicar, as alterações serão gravadas no seu armazém de destino.

    Captura de ecrã de Visual Studio Code mostrando o Deploy dacpac: Notificação em curso.

  7. Na notificação Gostaria de salvar as configurações em um perfil (.publish.xml)?, escolha Sim e salve suas opções de perfil de publicação para a próxima vez que precisar publicar.

Definições importantes de implementação para projetos em armazéns

Ao implementar projetos de bases de dados para o Fabric Data Warehouse, várias definições controlam alterações no esquema e podem afetar a segurança dos dados. Use com cautela.

  • BlockOnPossibleDataLoss

    • O que faz: Impede a implementação se houver risco de perda de dados (por exemplo, eliminar uma coluna ou tabela que contenha dados).
    • Recomendação: Sempre definido para True em produção para proteger dados críticos.
    • Atenção: Definir para False permitir a implementação mesmo que os dados possam ser perdidos. Use apenas em ambientes controlados (por exemplo, desenvolvimento/teste).
  • DropObjectsNotInSource

    • O que faz: Elimina objetos na base de dados alvo que não estão presentes na fonte do projeto.
    • Recomendação: Uso em ambientes de desenvolvimento/teste para limpar objetos remanescentes.
    • Atenção: Usar DropObjectsNotInSource em produção pode eliminar objetos e dados importantes. Confirma duas vezes antes de ativar.
  • Pre-Deployment Scripts

    • O que faz: Executa scripts SQL personalizados antes da implementação do esquema.
    • Usos comuns:
      • Arquiver ou fazer backup dos dados antes de eliminar tabelas
      • Desativar temporariamente restrições ou gatilhos
      • Limpeza de objetos legados
    • Atenção: Garante que os scripts são idempotentes e não introduzem alterações de esquema que entrem em conflito com a implementação.

Sugestão

Quando um processo de implementação é idempotente, pode ser executado várias vezes sem causar problemas, e pode ser implementado em várias bases de dados sem precisar de pré-determinar o seu estado.

  • Post-Deployment Scripts

    • O que faz: Executa scripts SQL personalizados após a implementação do esquema.
    • Usos comuns:
      • Consulta ou dados de referência da semente
      • Reativar restrições ou gatilhos
      • Histórico de registo de implementações
    • Atenção: Evite operações pesadas em tabelas grandes em produção; assegure que os scripts podem ser executados em segurança várias vezes, se necessário.

Importante

Revê sempre scripts e definições de implementação antes de publicar. Teste primeiro em ambientes de desenvolvimento/teste para evitar perdas indesejadas de dados.

Verificar publicação

Conecte-se ao seu armazém e escreva scripts para os objetos que foram alterados ou verifique-os executando objetos do catálogo do sistema.