Partager via


Développer des projets d’entrepôt dans Visual Studio Code

S’applique à :✅ Entrepôt dans Microsoft Fabric

Découvrez comment configurer un projet de base de données pour Fabric Data Warehouse dans Visual Studio Code. Vous allez créer un projet, définir des objets de schéma, générer et valider le projet et le publier dans votre entrepôt.

Prerequisites

Avant de commencer, assurez-vous de :

  • Accédez à un élément d’entrepôt existant au sein d’un espace de travail Fabric avec des autorisations Contributeur ou ultérieures.
  • Installez Visual Studio Code sur votre station de travail.
  • Installez le Kit de développement logiciel (SDK) .NET pour générer et publier des projets de base de données.
  • Installez deux extensions Visual Studio Code : projets SQL Database et SQL Server (mssql).
    • Vous pouvez installer les extensions requises directement à partir de la Place de marché Visual Studio Code en recherchant « Projets SQL Database » ou « SQL Server (mssql) ».

Créer un projet de base de données

Vous pouvez créer un projet de base de données à partir de zéro ou d’un entrepôt existant.

Option 1 : Créer un projet de base de données à partir de la palette de commandes dans Visual Studio Code

  1. Ouvrez Visual Studio Code.

  2. Ouvrez la palette de commandes (Ctrl+Shift+P ou Cmd+Shift+P sur Mac).

  3. Rechercher Projets de base de données : Nouveau.

  4. Sélectionnez type de projet de base de données en tant que base de données SQL Server.

  5. Choisissez un nom de projet et sélectionnez l’emplacement du dossier local.

  6. Choisissez Synapse Data Warehouse dans Microsoft Fabric comme plateforme cible.

  7. Lorsque vous y êtes invité, sélectionnez Oui (recommandé) pour un projet de style SDK.

    Important

    Seuls les projets de style SDK sont pris en charge pour Fabric Data Warehouse.

  8. Sélectionnez Oui à la question Voulez-vous configurer la build du projet SQL comme configuration de build par défaut pour ce dossier ?

  9. Sélectionnez Oui pour approuver les auteurs des fichiers dans ce dossier.

Option 2 : Créer un projet de base de données à partir de l’extension Projets de base de données

  1. Dans Visual Studio Code, choisissez l’icône d’extension Projets de base de données dans la barre d’activité.

  2. Dans le volet Projets de base de données , sélectionnez Créer nouveau.

    Capture d’écran de Visual Studio Code montrant le volet d’extension Projets de base de données et le bouton Créer.

  3. Sélectionnez type de projet de base de données en tant que base de données SQL Server.

  4. Choisissez un nom de projet et sélectionnez l’emplacement du dossier local.

  5. Choisissez Synapse Data Warehouse dans Microsoft Fabric comme plateforme cible.

  6. Lorsque vous y êtes invité, sélectionnez Oui (recommandé) pour un projet de style SDK. Seuls les projets de style SDK sont pris en charge pour Fabric Data Warehouse.

  7. Sélectionnez Oui à la question Voulez-vous configurer la build du projet SQL comme configuration de build par défaut pour ce dossier ?

  8. Sélectionnez Oui pour approuver les auteurs des fichiers dans ce dossier.

Option 3 : Créer un projet de base de données à partir d’un entrepôt existant

  1. Tout d’abord, créez un profil de connexion pour votre entrepôt dans Visual Studio Code.

    1. Sélectionnez l’extension SQL Server dans Visual Studio Code dans la barre d’activité.
    2. Fournissez un nom de profil. Choisissez Paramètres.
    3. Indiquez le nom du serveur. Dans le portail Fabric, dans les paramètres de votre entrepôt, récupérez la chaîne de point de terminaison SQL . (Ceci est différent du point de terminaison d’analytique SQL.) On dirait <server unique ID>.datawarehouse.fabric.microsoft.com. Il s’agit du nom du serveur.
    4. Pour le type d’authentification, utilisez Microsoft Entra ID - Universal avec prise en charge de l’authentification multifacteur. Authentifiez-vous avec votre ID Microsoft Entra.
    5. Fournissez d’autres informations par défaut, ou souhaitées, puis sélectionnez Se connecter.
  2. Dans Visual Studio Code, choisissez l’icône d’extension Projets de base de données dans la barre d’activité.

  3. Sélectionnez le bouton ... Options dans le volet Projets de base de données et choisissez Créer un projet à partir d’une base de données .

    Capture d’écran de Visual Studio Code montrant l’option Créer un projet à partir de la base de données.

  4. Choisissez votre entrepôt dans les profils de connexion existants.

  5. Fournissez un nom de projet et choisissez un dossier de projet sur votre station de travail.

  6. Pour la structure de dossiers, sélectionnez Schéma/Type d’objet (recommandé).

  7. Pour inclure des autorisations dans le projet, sélectionnez Non (valeur par défaut).

  8. Pour le projet de style SDK, sélectionnez Oui (recommandé) .

  9. Sélectionnez Oui à la question Voulez-vous configurer la build du projet SQL comme configuration de build par défaut pour ce dossier ?

  10. Visual Studio Code extrait les fichiers projet du projet d’entrepôt.

    Capture d’écran de Visual Studio Code montrant la notification de progression d’extraction des fichiers projet.

  11. Une fois l’extraction réussie, vous verrez la notification suivante : « Extraire les fichiers projet : Réussi. Terminé ».

  12. Sélectionnez Oui pour approuver les auteurs des fichiers dans ce dossier.

Nouveau projet de base de données pour votre entrepôt

Le nouveau projet de base de données pour votre entrepôt s’affiche dans le menu Projets sql Database.

Capture d’écran de Visual Studio Code montrant le nouveau projet de base de données pour AdventureWorksDW2022.

Votre structure de projet ressemble à ceci :

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

Configurer le projet de base de données

  1. Cliquez avec le bouton droit sur le projet et sélectionnez Modifier le fichier .sqlproj.

    Capture d’écran de Visual Studio Code et du menu contextuel d’un projet de base de données. L’option Modifier le fichier sqlproj est mise en surbrillance.

  2. Vérifiez que la dernière version du Kit de développement logiciel (SDK) Microsoft.Build.Sql se trouve dans le fichier. Par exemple, dans le fichier .sqlproj, remplacez la version de Microsoft.Build.Sql par 2.0.0.

       <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />
    
  3. Vérifiez la dernière version de Microsoft.SqlServer.Dacpacs.FabricDw et ajoutez une référence à l’intérieur du Project/ItemGroup nœud XML. Par exemple:

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

    Il s’agit de la façon dont votre projet de base de données pour un entrepôt doit se présenter après les mises à jour.

     <?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. Enregistrez votre .sqlproj fichier. Dans l’invite de rechargement de votre projet de base de données, sélectionnez Oui.

Important

L’équipe Fabric Data Warehouse publie fréquemment de nouvelles versions des packages NuGet. Étant donné que les valeurs de version par défaut du fichier peuvent changer au fil du .sqlproj temps, veillez à les mettre à jour dans votre projet local pour rester alignées sur les dernières versions disponibles à partir de NuGet pour Microsoft.SqlServer.Dacpacs.FabricDw.

Ajouter ou mettre à jour des objets de base de données

Vous pouvez définir ou modifier des objets de base de données tels que des tables, des vues, des procédures stockées et des fonctions au sein de votre projet d’entrepôt.

Sous le dossier d’un schéma, par exemple dbo, ajoutez ou supprimez ou apportez des modifications aux définitions T-SQL des objets de votre entrepôt. Pour modifier un objet existant, ouvrez son fichier correspondant .sql et mettez à jour la définition si nécessaire.

Lorsque vous générez le projet, tous les objets nouveaux et mis à jour sont validés et inclus dans le fichier dacpac généré, dans le fichier {project folder location}/bin/debug/{project name}.dacpac.

Les modifications apportées ici sont uniquement apportées au projet de base de données et ne sont pas reflétées dans Microsoft Fabric tant que vous n’avez pas généré et publié votre projet.

Générer et valider le projet

  1. Ouvrez le projet de base de données s’il n’est pas déjà ouvert.

  2. Cliquez avec le bouton droit sur le projet et sélectionnez Générer pour générer le projet de base de données.

    Capture d’écran de Visual Studio Code montrant l’option de génération du projet de base de données.

  3. La build doit réussir. Corrigez les erreurs en fonction des messages fournis dans la sortie de l’événement de build.

Note

Actuellement, votre terminal Visual Studio Code par défaut doit être PowerShell pour que le processus de génération dans l’extension Projets de base de données réussisse. Dans la palette de commandes, choisissez Terminal : Sélectionnez Profil par défaut, puis PowerShell.

Publier sur Fabric Data Warehouse

Après avoir créé votre projet, publiez-le dans votre entrepôt cible. La publication crée un script pour résoudre la différence entre le projet de base de données et l’entrepôt réel, et exécute un script pour que l’entrepôt corresponde au projet. Le modèle compilé du schéma d’entrepôt dans un fichier .dacpac peut être déployé sur un entrepôt cible.

  1. Cliquez avec le bouton droit sur le projet, puis sélectionnez Publier.

  2. Choisissez Publier sur un serveur SQL existant.

  3. Pour sélectionner un profil de publication à charger, la première fois que vous publiez, choisissez Ne pas utiliser de profil.

    • Vous pouvez enregistrer les options de publication de votre entrepôt dans un profil de publication. Lorsque vous avez terminé, une notification Visual Studio Code vous permet d’enregistrer les options de publication que vous venez d’utiliser dans un fichier de profil de publication.
    • Vous pouvez réutiliser le profil de publication à l’avenir lorsque vous publiez votre projet dans votre entrepôt. Vous pouvez avoir différentes options de profil pour différents entrepôts ou pour différents environnements dans vos environnements de développement, test, acceptation, production.
  4. Choisissez le profil de connexion Fabric Data Warehouse dans la liste.

  5. Choisissez le nom de l’entrepôt cible.

  6. Dans l’option Choisir une action , vous pouvez générer un script pour passer en revue le script avant la publication ou publier un projet dans un entrepôt.

    • La première fois que vous souhaitez déployer des modifications, vous devez soigneusement générer un script et passer en revue le T-SQL obtenu à appliquer à l’entrepôt cible. Aucune modification n’est apportée à l’entrepôt cible.
    • Si vous choisissez Publier, les modifications sont écrites dans votre entrepôt cible.

    Capture d’écran de Visual Studio Code montrant la notification Déployer dacpac : En cours.

  7. Dans la notification Voulez-vous enregistrer les paramètres dans un profil (.publish.xml) ?, choisissez Oui et enregistrez vos choix de profil de publication pour la prochaine fois que vous devez publier.

Paramètres de déploiement importants pour les projets d’entrepôt

Lors du déploiement de projets de base de données sur Fabric Data Warehouse, plusieurs paramètres contrôlent les modifications de schéma et peuvent avoir un impact sur la sécurité des données. Utilisez avec précaution.

  • BlockOnPossibleDataLoss

    • Qu’est-ce qu’il fait : Empêche le déploiement en cas de risque de perte de données (par exemple, la suppression d’une colonne ou d’une table qui contient des données).
    • Recommandation: Toujours défini True en production pour protéger les données critiques.
    • Prudence: La définition de ce paramètre permet le False déploiement même si les données peuvent être perdues. Utilisez uniquement dans des environnements contrôlés (par exemple, dev/test).
  • DropObjectsNotInSource

    • Qu’est-ce qu’il fait : Supprime les objets de la base de données cible qui ne sont pas présents dans la source du projet.
    • Recommandation: Utiliser dans les environnements de développement/test pour nettoyer les objets restants.
    • Prudence: L’utilisation DropObjectsNotInSource en production peut supprimer des objets et des données importants. Vérifiez deux fois avant d’activer.
  • Pre-Deployment Scripts

    • Qu’est-ce qu’il fait : Exécute des scripts SQL personnalisés avant le déploiement du schéma.
    • Utilisations courantes :
      • Archiver ou sauvegarder des données avant de supprimer des tables
      • Désactiver temporairement des contraintes ou des déclencheurs
      • Nettoyer les objets hérités
    • Prudence: Vérifiez que les scripts sont idempotents et n’introduisent pas de modifications de schéma qui entrent en conflit avec le déploiement.

Conseil / Astuce

Lorsqu’un processus de déploiement est idempotent, il peut être exécuté plusieurs fois sans provoquer de problèmes et vous pouvez le déployer sur plusieurs bases de données sans avoir à prédéfinis leur état.

  • Post-Deployment Scripts

    • Qu’est-ce qu’il fait : Exécute des scripts SQL personnalisés après le déploiement du schéma.
    • Utilisations courantes :
      • Recherche initiale ou données de référence
      • Réactiver les contraintes ou déclencheurs
      • Historique de déploiement des enregistrements
    • Prudence: Évitez les opérations lourdes sur de grandes tables en production ; vérifiez que les scripts peuvent s’exécuter en toute sécurité plusieurs fois si nécessaire.

Important

Passez toujours en revue les scripts et paramètres de déploiement avant la publication. Testez d’abord dans les environnements de développement/test pour éviter une perte de données involontaire.

Vérifier la publication

Connectez-vous à vos objets d’entrepôt et de script qui ont été modifiés ou vérifiés en exécutant des objets de catalogue système.