Del via


Integrering av SQL-databasekildekontroll i Microsoft Fabric

Gjelder for:SQL-database i Microsoft Fabric

I denne opplæringen lærer du hvordan du arbeider med SQL-databasen i Fabric med fabric git integration source control.

En SQL-database i Microsoft Fabric har kildekontrollintegrering, eller git-integrasjon, slik at SQL-brukere kan spore definisjonene av databaseobjektene over tid. Denne integreringen gjør det mulig for et team å:

  • Utfør databasen til kildekontroll, som automatisk konverterer den direktesendte databasen til kode i det konfigurerte kildekontrollrepositoriet (for eksempel Azure DevOps).
  • Oppdater databaseobjekter fra innholdet i kildekontrollen, som validerer koden i kildekontrollrepositoriet før du bruker en differenialendring i databasen.

Diagram over den enkle utførings- og oppdateringssyklusen mellom den direktesendte databasen og kildekontrollen.

Her er noen anbefalte ressurser hvis du ikke er kjent med git:

Denne artikkelen presenterer en rekke nyttige scenarioer som kan brukes individuelt eller i kombinasjon for å administrere utviklingsprosessen med SQL-databasen i Fabric:

Scenariene i denne artikkelen er dekket i en episode av Data Exposed. Se videoen for en oversikt over kildekontrollintegreringen i Fabric:

Forutsetning

Oppsett

Denne repositoriumtilkoblingen gjelder på arbeidsområdenivå, slik at én enkelt gren i repositoriet er knyttet til arbeidsområdet. Repositoriet kan ha flere grener, men bare koden i grenen som er valgt i innstillingene for arbeidsområdet, vil påvirke arbeidsområdet direkte.

Hvis du vil ha en fremgangsmåte for å koble arbeidsområdet til et kildekontrollrepositorium, kan du se Komme i gang med Git-integrering. Arbeidsområdet kan kobles til et eksternt Azure DevOps- eller GitHub-repositorium.

Legg til Fabric SQL-databasen i kildekontrollen

I dette scenarioet skal du overføre databaseobjekter til kildekontroll. Det kan hende du utvikler et program der du oppretter objekter direkte i en testdatabase og sporer databasen i kildekontroll, akkurat som programkoden. Som et resultat har du tilgang til loggen over definisjonene av databaseobjektene og kan bruke Git-konsepter som forgrening og fletting for å tilpasse utviklingsprosessen ytterligere.

  1. Koble til SQL-databasen i Fabric SQL Editor, SQL Server Management Studio, mssql-utvidelsen med Visual Studio Code eller andre eksterne verktøy.
  2. Opprett en ny tabell, lagret prosedyre eller et annet objekt i databasen.
  3. ... Velg menyen for databasen, og velg Oppdater git-synkroniseringsstatus.
  4. Velg kildekontrollknappen for å åpne kildekontrollpanelet.
  5. Merk av for den ønskede databasen. Velg Utfør. Fabric-tjenesten leser objektdefinisjoner fra databasen og skriver dem til det eksterne repositoriet.
  6. Nå kan du vise loggen for databaseobjekter i kildevisning for koderepositorium.

Etter hvert som du fortsetter å redigere databasen, inkludert redigering av eksisterende objekter, kan du utføre disse endringene i kildekontrollen ved å følge de foregående trinnene.

Oppdater Fabric SQL-databasen fra kildekontrollen

I dette scenarioet skal du opprette databaseobjekter som kode i SQL-prosjektutvidelsen i VS Code, og deretter forplikte filene til kildekontrollen før du oppdaterer Fabric SQL-databasen fra kildekontrollintegreringen. Dette scenarioet er rettet mot utviklere som foretrekker å arbeide i VS Code, har eksisterende programmer som bruker SQL-prosjekter, eller har mer avanserte krav til CI/CD-datasamlebånd.

  1. Kontroller at du har installert den nyeste versjonen av VS Code og mssql- og SQL-prosjektutvidelsene for VS Code.
  2. Opprett en ny SQL-database i arbeidsområdet, og utfør den til kildekontroll uten å legge til objekter. Dette trinnet legger til de tomme SQL-prosjekt- og SQL-databaseelementmetadataene i repositoriet.
  3. Klon kildekontrollrepositoriet til den lokale maskinen.
    • Hvis du bruker Azure DevOps, velger du ... hurtigmenyen for kildekontrollprosjektet. Velg Klone for å kopiere Azure DevOps-repositoriet til den lokale maskinen. Hvis du ikke har brukt Azure DevOps før, kan du se koden med git-veiledningen for Azure DevOps.
    • Hvis du bruker GitHub, velger du Kode-knappen i repositoriet og kopierer nettadressen for å klone repositoriet til den lokale maskinen. Hvis du ikke har brukt GitHub før, kan du se kloning av en veiledning for repositorium .
  4. Åpne den klonede mappen i Visual Studio Code. Grenen som er knyttet til arbeidsområdet, er kanskje ikke standard. Du skal se en mappe med navnet <yourdatabase>.SQLDatabase VS Code etter at du har byttet gren.
  5. Opprett en .sql fil for minst én tabell du vil opprette i databasen i mappestrukturen for databasen. Filen skal inneholde setningen CREATE TABLE for tabellen. Du kan for eksempel opprette en fil med navnet MyTable.sql i mappen dbo/Tables med følgende innhold:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. For å sikre at syntaksen er gyldig, kan vi validere databasemodellen med SQL-prosjektet. Når du har lagt til filene, kan du bruke visningen Databaseprosjekter i VS Code til å bygge prosjektet.
  7. Etter et vellykket bygg, kan du forplikte filene til kildekontrollen med kildekontrollvisningen i VS Code eller det foretrukne lokale git-grensesnittet.
  8. Trykk/synkroniser utføringen til det eksterne repositoriet. Kontroller at de nye filene har dukket opp i Azure DevOps eller GitHub.
  9. Gå tilbake til Fabric-nettgrensesnittet, og åpne Kontrollpanel for kilde i arbeidsområdet. Det kan hende du allerede har et varsel om at «du har ventende endringer fra git». Velg Oppdater (Oppdater alle) for å bruke koden fra SQL-prosjektet i databasen.
    • Det kan hende at databasen umiddelbart angir at den er uforpliktende etter oppdateringen. Dette skyldes at Git-integreringsfunksjonen gjør en direkte sammenligning av alt filinnholdet som genereres for en elementdefinisjon, og noen utilsiktede forskjeller er mulig. Ett eksempel er innebygde attributter i kolonner. I slike tilfeller må du gå tilbake til kildekontrollen i fabric-nettgrensesnittet for å synkronisere definisjonen med det som genereres som en del av en utføringsoperasjon.
  10. Når oppdateringen er fullført, kan du bruke et verktøy du ønsker å koble til databasen. Objektene du har lagt til i SQL-prosjektet, er synlige i databasen.

Merk

Når du gjør endringer i det lokale SQL-prosjektet, vil databaseoppdateringen mislykkes hvis det er en syntaksfeil eller bruk av funksjoner som ikke støttes i Fabric. Du må tilbakestille endringen i kildekontrollen manuelt før du kan fortsette.

Oppdatering av en SQL-database i Fabric fra kildekontroll kombinerer en SQL-prosjektbygging og sqlpackage-publiseringsoperasjon. SQL-prosjektbygget validerer syntaksen for SQL-filene og genererer en .dacpac fil. SqlPackage-publiseringsoperasjonen fastslo endringene som er nødvendige for å oppdatere databasen for å samsvare med .dacpac-filen. På grunn av stoffgrensesnittets strømlinjeformede natur brukes følgende alternativer på sqlpackage-publiseringsoperasjonen:

  • /p:ScriptDatabaseOptions = false
  • /p:DoNotAlterReplicatedObjects = false
  • /p:IncludeTransactionalScripts = true
  • /p:GenerateSmartDefaults = true

Det kildestyrte SQL-prosjektet kan også klones til den lokale maskinen for redigering i VS Code, Visual Studio eller andre SQL-prosjektverktøy. SQL-prosjektet bør bygges lokalt for å validere endringer før du forplikter dem til kildekontroll.

Opprette et grenarbeidsområde

I dette scenarioet skal du konfigurere et nytt utviklingsmiljø i Fabric ved å la Fabric opprette et duplikatsett med ressurser basert på kildekontrolldefinisjonen. Den dupliserte databasen inkluderer databaseobjektene vi har sjekket inn i kildekontrollen. Dette scenarioet er rettet mot utviklere som fortsetter sin livssyklus for programutvikling i Fabric og bruker kildekontrollintegreringen fra Fabric.

  1. Fullfør scenarioet med å konvertere Fabric SQL-databasen til kode i kildekontrollen.
    • Du bør ha en gren i et kildekontrollrepositorium med både et SQL-prosjekt og fabric-objektmetadataene.
  2. Åpne kildekontrollpanelet i Fabric-arbeidsområdet. Velg Gren ut til nytt arbeidsområde på Fanen Forgreninger på kildekontrollmenyen.
  3. Angi navnene på grenen og arbeidsområdet som skal opprettes. Grenen opprettes i kildekontrollrepositoriet og fylles ut med det forpliktende innholdet i grenen som er knyttet til arbeidsområdet du forgrener fra. Arbeidsområdet opprettes i Fabric.
  4. Gå til det nyopprettede arbeidsområdet i Fabric. Når opprettingen av databasen er fullført, inneholder den nyopprettede databasen nå objektene som er angitt i koderepositoriet. Hvis du åpner redigeringsprogrammet for stoffspørring og navigerer i Objektutforsker, har databasen nye (tomme) tabeller og andre objekter.

Slå sammen endringer fra én gren til en annen

I dette scenarioet bruker du kildekontrollrepositoriet til å se gjennom databaseendringer før de er tilgjengelige for distribusjon. Dette scenarioet er rettet mot utviklere som arbeider i et teammiljø og bruker kildekontroll til å administrere databaseendringene.

Opprett to arbeidsområder med tilknyttede grener i samme repositorium, som beskrevet i forrige scenario.

  1. Gjør endringer i databaseobjektene med databasen på den sekundære grenen.
    • Du kan for eksempel endre en eksisterende lagret prosedyre eller opprette en ny tabell.
  2. Sjekk inn disse endringene i kildekontrollen med Utføring-knappen på kildekontrollpanelet i Fabric.
  3. I Azure DevOps eller GitHub oppretter du en pull-forespørsel fra den sekundære grenen til primærgrenen.
    • I pull-forespørselen kan du se endringene i databasekoden mellom det primære arbeidsområdet og det sekundære arbeidsområdet.
  4. Når du har fullført pull-forespørselen, oppdateres kildekontrollen, men databasen i Fabric på det primære arbeidsområdet endres ikke. Hvis du vil endre den primære databasen, oppdaterer du det primære arbeidsområdet fra kildekontrollen ved hjelp av Oppdater-knappen på kildekontrollpanelet i Fabric.