Dela via


Utveckla lagerprojekt i Visual Studio Code

gäller för:✅ Warehouse i Microsoft Fabric

Lär dig hur du konfigurerar ett databasprojekt för Fabric Data Warehouse i Visual Studio Code. Du skapar ett nytt projekt, definierar schemaobjekt, skapar och validerar projektet och publicerar det i ditt lager.

Förutsättningar

Innan du börjar kontrollerar du att:

  • Ha åtkomst till ett befintligt lagerobjekt i en Fabric-arbetsyta med deltagarbehörighet eller högre.
  • Installera Visual Studio Code på din arbetsstation.
  • Installera .NET SDK för att skapa och publicera databasprojekt.
  • Installera två Visual Studio Code-tillägg: SQL Database Projects och SQL Server (mssql).
    • Du kan installera de tillägg som krävs direkt från Visual Studio Code Marketplace genom att söka efter "SQL Database Projects" eller "SQL Server (mssql)".

Skapa ett nytt databasprojekt

Du kan skapa ett databasprojekt från grunden eller ett befintligt lager.

Alternativ 1: Skapa ett nytt databasprojekt från kommandopaletten i Visual Studio Code

  1. Öppna Visual Studio Code.

  2. Öppna kommandopaletten (Ctrl+Shift+P eller Cmd+Shift+P på Mac).

  3. Sök efter databasprojekt: Ny.

  4. Välj Databasprojekttyp som SQL Server Database.

  5. Välj ett projektnamn och välj platsen för den lokala mappen.

  6. Välj Synapse Data Warehouse i Microsoft Fabric som målplattform.

  7. När du uppmanas till det väljer du Ja (rekommenderas) för ett SDK-projekt.

    Viktigt!

    Endast SDK-projekt stöds för Fabric Data Warehouse.

  8. Välj Ja till frågan Vill du konfigurera SQL-projektversion som standardkonfiguration för den här mappen?

  9. Välj Ja för att lita på författarna till filerna i den här mappen.

Alternativ 2: Skapa ett nytt databasprojekt från databasprojekttillägget

  1. I Visual Studio Code väljer du tilläggsikonen Databasprojekt i aktivitetsfältet.

  2. I fönstret Databasprojekt väljer du Skapa ny.

    Skärmbild från Visual Studio Code som visar fönstret Databasprojektstillägg och knappen Skapa ny.

  3. Välj Databasprojekttyp som SQL Server Database.

  4. Välj ett projektnamn och välj platsen för den lokala mappen.

  5. Välj Synapse Data Warehouse i Microsoft Fabric som målplattform.

  6. När du uppmanas till det väljer du Ja (rekommenderas) för ett SDK-projekt. Endast SDK-projekt stöds för Fabric Data Warehouse.

  7. Välj Ja till frågan Vill du konfigurera SQL-projektversion som standardkonfiguration för den här mappen?

  8. Välj Ja för att lita på författarna till filerna i den här mappen.

Alternativ 3: Skapa ett databasprojekt från ett befintligt lager

  1. Skapa först en ny anslutningsprofil för ditt lager i Visual Studio Code.

    1. Välj SQL Server-tillägget i Visual Studio Code i aktivitetsfältet.
    2. Ange ett profilnamn. Välj Parametrar.
    3. Ange servernamnet. I Fabric-portalen, i Inställningarna för ditt lager, hämta SQL-slutpunktssträngen. (Detta skiljer sig från SQL-analysslutpunkten.) Det ser ut som <server unique ID>.datawarehouse.fabric.microsoft.com. Det här är servernamnet.
    4. För autentiseringstyp använder du Microsoft Entra ID – Universal med MFA-stöd. Autentisera med ditt Microsoft Entra-ID.
    5. Ange annan information som standard eller önskat och välj Anslut.
  2. I Visual Studio Code väljer du tilläggsikonen Databasprojekt i aktivitetsfältet.

  3. Välj alternativknappen ... i fönstret Databasprojekt och välj alternativet Skapa projekt från databas .

    Skärmbild från Visual Studio Code som visar alternativet Skapa projekt från databas.

  4. Välj ditt lager från de befintliga anslutningsprofilerna.

  5. Ange ett projektnamn och välj en projektmapp på din arbetsstation.

  6. För mappstruktur väljer du Schema/Objekttyp (rekommenderas).

  7. För Inkludera behörigheter i projektet väljer du Nej (standard).

  8. För SDK-projekt väljer du Ja (rekommenderas).

  9. Välj Ja till frågan Vill du konfigurera SQL-projektversion som standardkonfiguration för den här mappen?

  10. Visual Studio Code extraherar projektfiler från lagerprojekt.

    Skärmbild från Visual Studio Code som visar framstegsnotis om utvinning av projektfiler.

  11. När du har extraherat det visas följande meddelande: "Extrahera projektfiler: Lyckades. Slutförd".

  12. Välj Ja för att lita på författarna till filerna i den här mappen.

Nytt databasprojekt för ditt lager

Det nya databasprojektet för ditt lager visas på SQL Database Projects-menyn.

Skärmbild från Visual Studio Code som visar det nya databasprojektet för AdventureWorksDW2022.

Projektstrukturen ser ut så här:

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

Konfigurera databasprojektet

  1. Högerklicka på projektet och välj Redigera .sqlproj-fil.

    Skärmbild från Visual Studio Code och snabbmenyn för ett databasprojekt. Alternativet Redigera sqlproj-fil är markerat.

  2. Kontrollera att den senaste versionen av Microsoft.Build.Sql SDK finns i filen. I filen ändrar du till exempel .sqlproj versionen för Microsoft.Build.Sql till 2.0.0.

       <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />
    
  3. Kontrollera den senaste versionen av Microsoft.SqlServer.Dacpacs.FabricDw och lägg till en referens i Project/ItemGroup XML-noden. Till exempel:

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

    Så här bör databasprojektet för ett lager se ut efter uppdateringarna.

     <?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. .sqlproj Spara filen. I uppmaningen att läsa in databasprojektet igen väljer du Ja.

Viktigt!

Fabric Data Warehouse-teamet släpper ofta nya versioner av NuGet-paket. Eftersom standardversionsvärdena i .sqlproj filen kan ändras med tiden måste du uppdatera dem i det lokala projektet så att de överensstämmer med de senaste versionerna som är tillgängliga från NuGet för Microsoft.SqlServer.Dacpacs.FabricDw.

Lägga till eller uppdatera databasobjekt

Du kan definiera eller ändra databasobjekt som tabeller, vyer, lagrade procedurer och funktioner i ditt lagerprojekt.

Under mappen för ett schema, till exempel dbo, lägger du till eller tar bort eller gör ändringar i T-SQL-definitionerna för objekt i ditt lager. Om du vill ändra ett befintligt objekt öppnar du motsvarande .sql fil och uppdaterar definitionen efter behov.

När du skapar projektet verifieras alla nya och uppdaterade objekt och ingår i den genererade dacpac-filen i {project folder location}/bin/debug/{project name}.dacpac filen.

Ändringar som görs här gäller bara databasprojektet och återspeglas inte i Microsoft Fabric förrän du har skapat och publicerat projektet.

Skapa och verifiera projektet

  1. Öppna databasprojektet om det inte redan har öppnats.

  2. Högerklicka på projektet och välj Skapa för att skapa databasprojektet.

    Skärmbild från Visual Studio Code som visar alternativet att skapa databasprojektet.

  3. Bygget ska lyckas. Åtgärda eventuella fel baserat på meddelanden som anges i utdata från bygghändelsen.

Anmärkning

För närvarande måste visual Studio Code-standardterminalen vara PowerShell för att byggprocessen i databasprojekttillägget ska lyckas. I kommandopaletten väljer du Terminal: Välj Standardprofil och sedan PowerShell.

Publicera till Fabric Data Warehouse

När du har skapat projektet publicerar du det till mållagret. Publicering skapar ett skript för att lösa skillnaden mellan databasprojektet och det faktiska lagret och kör ett skript för att göra att lagret matchar projektet. Den kompilerade modellen för lagerschemat i en .dacpac-fil kan distribueras till ett mållager.

  1. Högerklicka på projektet och välj Publicera.

  2. Välj Publicera på en befintlig SQL-server.

  3. För Välj publiceringsprofil som ska läsas in väljer du Använd inte profil första gången du publicerar.

    • Du kan spara alternativ för att publicera ditt lager i en publiceringsprofil. När du är klar får du alternativet i ett Visual Studio Code-meddelande för att spara publiceringsalternativen som du nyss använde i en publiceringsprofilfil.
    • Du kan återanvända publiceringsprofilen i framtiden när du publicerar ditt projekt i ditt lager. Du kan ha olika profilalternativ för olika lager eller för olika miljöer i utvecklingsmiljöerna dev/test/acceptance/production.
  4. Välj anslutningsprofilen för Fabric Data Warehouse i listan.

  5. Välj namnet på mållagret.

  6. I alternativet Välj åtgärd kan du antingen generera skript för att granska skriptet innan du publicerar eller publicera projektet till ett lager.

    • Första gången du vill distribuera ändringar bör du noggrant generera skript och granska den resulterande T-SQL som ska tillämpas på mållagret. Inga ändringar görs i lagret.
    • Om du väljer Publicera skrivs ändringarna till mållagret.

    Skärmbild från Visual Studio Code som visar meddelandet Distribuera dacpac: Pågår.

  7. I meddelandet Vill du spara inställningarna i en profil (.publish.xml)? väljer du Ja och sparar dina publiceringsprofilval för nästa gång du behöver publicera.

Viktiga distributionsinställningar för lagerprojekt

När du distribuerar databasprojekt till Fabric Data Warehouse, styr flera inställningar schemaändringar och kan påverka datasäkerheten. Använd med försiktighet.

  • BlockOnPossibleDataLoss

    • Vad den gör: Förhindrar distribution om det finns en risk för dataförlust (till exempel om du tar bort en kolumn eller tabell som innehåller data).
    • Rekommendation: Ange alltid till True i produktion för att skydda kritiska data.
    • Försiktighet: Om du ställer in den på False tillåter du distribution även om data kan gå förlorade. Använd endast i kontrollerade miljöer (till exempel dev/test).
  • DropObjectsNotInSource

    • Vad den gör: Släpper objekt i måldatabasen som inte finns i projektkällan.
    • Rekommendation: Använd i utvecklings-/testmiljöer för att rensa överblivna objekt.
    • Försiktighet: Användning DropObjectsNotInSource i produktion kan ta bort viktiga objekt och data. Dubbelkolla innan du aktiverar.
  • Pre-Deployment Scripts

    • Vad den gör: Kör anpassade SQL-skript före schemadistributionen.
    • Vanliga användningsområden:
      • Arkivera eller säkerhetskopiera data innan du släpper tabeller
      • Inaktivera begränsningar eller utlösare tillfälligt
      • Rensa äldre objekt
    • Försiktighet: Se till att skripten är idempotent och inte introducerar schemaändringar som står i konflikt med distributionen.

Tips/Råd

När en distributionsprocess är idempotent kan den köras flera gånger utan att orsaka problem, och du kan distribuera till flera databaser utan att behöva förbestäma deras status.

  • Post-Deployment Scripts

    • Vad den gör: Kör anpassade SQL-skript efter schemadistributionen.
    • Vanliga användningsområden:
      • Seed-uppslag eller referensdata
      • Återaktivera begränsningar eller utlösare
      • Logg över distributionens historik
    • Försiktighet: Undvik tunga åtgärder på stora tabeller i produktion. se till att skripten kan köras flera gånger på ett säkert sätt om det behövs.

Viktigt!

Granska alltid distributionsskript och inställningar innan du publicerar. Testa i utvecklings-/testmiljöer först för att förhindra oavsiktlig dataförlust.

Verifiera publicering

Anslut till ditt datalager och skriptade objekt som har ändrats, eller kontrollera dem genom att köra systemkatalogobjekt.