Del via


Utvikle lagerprosjekter i Visual Studio Code

Gjelder for:✅ Warehouse i Microsoft Fabric

Lær hvordan du setter opp et databaseprosjekt for Fabric Data Warehouse i Visual Studio Code. Du oppretter et nytt prosjekt, definerer skjemaobjekter, bygger og validerer prosjektet og publiserer det på lageret.

Forutsetning

Før du begynner, må du sørge for at du:

  • Ha tilgang til en eksisterende lagervare i et Fabric-arbeidsområde med bidragsyter eller høyere tillatelser.
  • Installer Visual Studio Code på arbeidsstasjonen din.
  • Installer SDK-en .NET for å bygge og publisere databaseprosjekter.
  • Installer to Visual Studio Code utvidelser: SQL Database Projects og SQL Server (mssql).
    • Du kan installere de nødvendige utvidelsene direkte fra Visual Studio Code Marketplace ved å søke på "SQL Database Projects" eller "SQL Server (mssql)".

Opprette et nytt databaseprosjekt

Du kan opprette et databaseprosjekt fra grunnen av eller eksisterende lager.

Alternativ 1: Opprett et nytt databaseprosjekt fra Command Palette i Visual Studio Code

  1. Åpne Visual Studio Code.

  2. Åpne kommandopaletten (Ctrl+Shift+P eller Cmd+Shift+P på Mac).

  3. Søk etter databaseprosjekter: Ny.

  4. Velg Database Project Type som SQL Server Database.

  5. Velg et prosjektnavn og velg den lokale mappeplasseringen.

  6. Velg Synapse Data Warehouse i Microsoft Fabric som målplattform.

  7. Når du blir bedt om det, velger du Ja (anbefales) for et prosjekt i SDK-stil.

    Viktig!

    Kun SDK-stil prosjekter støttes for Fabric Data Warehouse.

  8. Velg Ja på spørsmålet Vil du konfigurere SQL-prosjektbygg som standard build-konfigurasjon for denne mappen?

  9. Velg Ja for å klarere forfatterne av filene i denne mappen.

Alternativ 2: Opprette et nytt databaseprosjekt fra utvidelsen Databaseprosjekter

  1. I Visual Studio Code velg utvidelsesikonet Database Projects fra Activity Bar.

  2. I Databaseprosjekter-ruten velger du Opprett ny.

    Skjermbilde fra Visual Studio Code som viser utvidelsespanelet Databaseprosjekter og knappen Opprett ny.

  3. Velg Database Project Type som SQL Server Database.

  4. Velg et prosjektnavn og velg den lokale mappeplasseringen.

  5. Velg Synapse Data Warehouse i Microsoft Fabric som målplattform.

  6. Når du blir bedt om det, velger du Ja (anbefales) for et prosjekt i SDK-stil. Kun SDK-stil prosjekter støttes for Fabric Data Warehouse.

  7. Velg Ja på spørsmålet Vil du konfigurere SQL-prosjektbygg som standard build-konfigurasjon for denne mappen?

  8. Velg Ja for å klarere forfatterne av filene i denne mappen.

Alternativ 3: Opprette et databaseprosjekt fra et eksisterende lager

  1. Først, opprett en ny tilkoblingsprofil for lageret ditt i Visual Studio Code.

    1. Velg utvidelsen SQL Server i Visual Studio Code fra Activity Bar.
    2. Oppgi et profilnavn. Velg Parametere.
    3. Oppgi servernavnet. I Fabric-portalen, i innstillingene til lageret ditt, velg SQL-endepunkt, og kopier den oppgitte strengen. Dette er servernavnet på lageret ditt, og er forskjellig fra SQL-analyse-endepunktet. Det ser ut som <server unique ID>.datawarehouse.fabric.microsoft.com.
    4. For autentiseringstype, bruk Microsoft Entra ID - Universal med MFA-støtte. Autentiser deg med din Microsoft Entra ID.
    5. Oppgi annen informasjon som standard eller ønsket, og velg Koble til.
  2. I Visual Studio Code velger du utvidelsesikonet Database Projects fra Aktivitetslinjen.

  3. Velg alternativknappen ... fra Databaseprosjekter-ruten , og velg alternativet Opprett prosjekt fra database .

    Skjermbilde fra Visual Studio Code som viser alternativet Lag prosjekt fra databasen.

  4. Velg lageret ditt fra de eksisterende tilkoblingsprofilene.

  5. Oppgi et prosjektnavn og velg en prosjektmappe på arbeidsstasjonen.

  6. For mappestruktur velger du Skjema/objekttype (anbefales).

  7. For Inkluder tillatelser i prosjektet velger du Nei (standard).

  8. For prosjekt i SDK-stil velger du Ja (anbefalt).

  9. Velg Ja på spørsmålet Vil du konfigurere SQL-prosjektbygg som standard build-konfigurasjon for denne mappen?

  10. Visual Studio Code henter ut prosjektfiler fra lagerprosjektet.

    Skjermbilde fra Visual Studio Code som viser fremdriftsvarsel om utpakkingsprosjektfiler.

  11. Når utpakkingen er vellykket, ser du følgende varsel: «Pakk ut prosjektfiler: Vellykket. Fullført".

  12. Velg Ja for å klarere forfatterne av filene i denne mappen.

Nytt databaseprosjekt for lageret ditt

Det nye databaseprosjektet for lageret vises på menyen SQL Database-prosjekter.

Skjermbilde fra Visual Studio Code som viser det nye databaseprosjektet for AdventureWorksDW2022.

Prosjektstrukturen din ser slik ut:

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

Konfigurere databaseprosjektet

  1. Høyreklikk på prosjektet og velg Rediger .sqlproj-fil.

    Skjermbilde fra Visual Studio Code og kontekstmenyen til et databaseprosjekt. Alternativet Rediger sqlproj Fil er markert.

  2. Kontroller at den nyeste versjonen av Microsoft.Build.Sql SDK er i filen. I filen endrer du for eksempel .sqlproj versjonen for Microsoft.Build.Sql til 2.0.0.

       <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />
    
  3. Kontroller den nyeste versjonen av Microsoft.SqlServer.Dacpacs.FabricDw, og legg til en referanse i XML-noden Project/ItemGroup . Eksempler:

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

    Slik skal databaseprosjektet for et lager se ut etter oppdateringene.

     <?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. Lagre .sqlproj filen. Velg Ja på forespørselen om å laste inn databaseprosjektet på nytt.

Viktig!

Fabric Data Warehouse-teamet slipper ofte nye versjoner av NuGet-pakker. Siden standardversjonsverdiene .sqlproj i filen kan endres over tid, må du sørge for å oppdatere dem i det lokale prosjektet for å holde deg oppdatert med de nyeste versjonene som er tilgjengelige fra NuGet for Microsoft.SqlServer.Dacpacs.FabricDw.

Legge til eller oppdatere databaseobjekter

Du kan definere eller endre databaseobjekter, for eksempel tabeller, visninger, lagrede prosedyrer og funksjoner i lagerprosjektet.

Under mappen for et skjema, for eksempel dbo, legg til eller slett eller gjør endringer i T-SQL-definisjonene av objekter på lageret ditt. Hvis du vil endre et eksisterende objekt, åpner du den tilsvarende .sql filen og oppdaterer definisjonen etter behov.

Når du bygger prosjektet, valideres alle nye og oppdaterte objekter og inkluderes i den genererte dacpac-filen i {project folder location}/bin/debug/{project name}.dacpac filen.

Endringer som gjøres her gjelder kun databaseprosjektet, og vises ikke i Microsoft Fabric før du Build og Publish prosjektet ditt.

Bygg og valider prosjektet

  1. Åpne databaseprosjektet hvis det ikke allerede er åpnet.

  2. Høyreklikk på prosjektet og velg Bygg for å bygge databaseprosjektet.

    Skjermbilde fra Visual Studio Code som viser valget for å bygge databaseprosjektet.

  3. Byggingen skal være vellykket. Løs eventuelle feil basert på meldinger som er oppgitt i utdataene fra kompileringshendelsen.

Note

For øyeblikket må din Visual Studio Code standardterminal være PowerShell for at Build-prosessen i Database Projects-utvidelsen skal lykkes. I kommandopaletten velger du Terminal: Velg Standardprofil, og velg deretter PowerShell.

Publiser til Fabric Data Warehouse

Når du har bygget prosjektet, publiserer du det på mållageret. Publisering oppretter et skript for å løse forskjellen mellom databaseprosjektet og det faktiske lageret, og kjører et skript for å få lageret til å samsvare med prosjektet. Den kompilerte modellen av lagerskjemaet i en DACPAC-fil kan distribueres til et mållager.

  1. Høyreklikk på prosjektet og velg Publiser.

  2. Velg Publiser til en eksisterende SQL-server.

  3. For Velg publiseringsprofil som skal lastes inn, velger du Ikke bruk profil første gang du publiserer.

    • Du kan lagre alternativer for publisering av lageret i en publiseringsprofil. Når du er ferdig, får du muligheten i en Visual Studio Code-varsling til å lagre publiseringsalternativene du nettopp brukte til en publiserprofilfil.
    • Du kan gjenbruke publiseringsprofilen i fremtiden når du publiserer prosjektet ditt på lageret ditt. Du kan ha forskjellige profilalternativer for ulike lagre, eller for forskjellige miljøer i utviklings-/test-/godkjennings-/produksjonsutviklingsmiljøene.
  4. Velg Fabric Data Warehouse-tilkoblingsprofilen fra listen.

  5. Velg navnet på mållageret.

  6. I alternativet Velg handling kan du enten generere skript for å se gjennom skriptet før publisering, eller publisere prosjektet på et lager.

    • Første gang du vil distribuere endringer, bør du nøye generere skript og se gjennom den resulterende T-SQL som skal brukes på mållageret. Det gjøres ingen endringer på mållageret.
    • Hvis du velger Publiser, skrives endringene til mållageret.

    Skjermbilde fra Visual Studio Code som viser Deploy dacpac: Varsling pågår.

  7. I varselet Vil du lagre innstillingene i en profil (.publish.xml)?, velger du Ja og lagrer publiseringsprofilvalgene dine til neste gang du trenger å publisere.

Viktige distribusjonsinnstillinger for lagerprosjekter

Når databaseprosjekter distribueres til Fabric Data Warehouse, kontrollerer flere innstillinger endringer i skjemaet og kan påvirke datasikkerheten. Bruk med forsiktighet.

  • BlockOnPossibleDataLoss

    • Hva det gjør: Forhindrer utrulling hvis det er risiko for datatap (for eksempel å droppe en kolonne eller tabell som inneholder data).
    • Anbefaling: Alltid satt til True i produksjon for å beskytte kritiske data.
    • Forsiktighet: Å sette det til False tillater distribusjon selv om data kan gå tapt. Bruk kun i kontrollerte miljøer (for eksempel utvikling/test).
  • DropObjectsNotInSource

    • Hva det gjør: Fjerner objekter i måldatabasen som ikke er til stede i prosjektkildekoden.
    • Anbefaling: Bruk i utviklings-/testmiljøer for å rydde opp gjenværende objekter.
    • Forsiktighet: Bruk DropObjectsNotInSource i produksjon kan slette viktige objekter og data. Dobbeltsjekk før aktivering.
  • Pre-Deployment Scripts

    • Hva det gjør: Kjører egendefinerte SQL-skript før skjemautrullingen.
    • Vanlige bruksområder:
      • Arkiver eller sikkerhetskopier data før tabeller slippes
      • Deaktiver begrensninger eller triggere midlertidig
      • Opprydding av arvobjekter
    • Forsiktighet: Sørg for at skriptene er idempotente og ikke introduserer skjemaendringer som kolliderer med distribusjon.

Tips

Når en distribusjonsprosess er idempotent, kan den kjøres flere ganger uten problemer, og du kan distribuere til flere databaser uten å måtte forhåndsbestemme statusen deres.

  • Post-Deployment Scripts

    • Hva det gjør: Kjører egendefinerte SQL-skript etter skjema-distribusjonen.
    • Vanlige bruksområder:
      • Frøoppslag eller referansedata
      • Aktiver begrensninger eller triggere på nytt
      • Loggdistribusjonshistorikk
    • Forsiktighet: Unngå tunge operasjoner på store bord i produksjon; Sørg for at skript trygt kan kjøres flere ganger om nødvendig.

Viktig!

Gå alltid gjennom distribusjonsskript og innstillinger før du publiserer. Test først i utviklings-/testmiljøer for å forhindre utilsiktet datatap.

Bekreft publisering

Koble til lageret og skriptobjekter som ble endret, eller bekreft ved å kjøre systemkatalogobjekter.