Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Gjelder for:✅SQL database i Microsoft Fabric
I denne veiledningen lærer du hvordan du kan jobbe med SQL-databasen din i Fabric ved å bruke Fabric git-integrasjonskildekontroll.
En SQL-database i Microsoft Fabric har kildekontrollintegrasjon, eller «git-integrasjon», slik at brukere kan spore definisjonene av databaseobjektene sine over tid. Denne integreringen gjør det mulig for et team å:
- Committer databasen til kildekontroll, som automatisk konverterer den levende databasen til kode i det konfigurerte kildekontrollarkivet (som Azure DevOps).
- Oppdater databaseobjekter fra innholdet i kildekontrollen, som validerer koden i kildekontrollrepositoriet før du bruker en differenialendring i databasen.
Her er noen anbefalte ressurser hvis du ikke er kjent med git:
Denne artikkelen presenterer en serie nyttige scenarier som du kan bruke individuelt eller i kombinasjon for å administrere utviklingsprosessen din med SQL-database i Fabric:
- Konvertere Fabric SQL-databasen til kode i kildekontrollen
- Oppdater Fabric SQL-databasen fra kildekontrollen
- Opprette et grenarbeidsområde
- Slå sammen endringer fra én gren til en annen
- Administrer statiske data med et post-deploying-skript
Scenariene i denne artikkelen er dekket i en episode av Data Exposed. Se videoen for en oversikt over kildekontrollintegreringen i Fabric:
Merk
Databasenivåinnstillinger som samling og kompatibilitetsnivå er ikke inkludert i integrasjonen av kildekontroll- og distribusjonspipelines for øyeblikket. For databaseinnstillinger som du kan sette ved å bruke T-SQL etter databaseopprettelse, kan du endre databasen med skript etter utrulling.
Forutsetning
- Du trenger en eksisterende stoffkapasitet. Hvis du ikke gjør det, kan du starte en fabric-prøveversjon.
- Kontroller at du aktiverer leierinnstillinger for Git-integrering.
- Opprett et nytt arbeidsområde, eller bruk et eksisterende Fabric-arbeidsområde.
- Opprett eller bruk en eksisterende SQL-database i Fabric. Hvis du ikke allerede har en, oppretter du en ny SQL-database i Fabric.
- Valgfritt: Installer Visual Studio Code, MSSQL-utvidelsen, og utvidelsen SQL projects for VS Code.
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 valgt i arbeidsområdets innstillinger påvirker 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 ditt kan kobles til et Azure DevOps- eller GitHub-eksternt repository.
Legg til Fabric SQL-databasen i kildekontrollen
I dette scenariet forplikter du 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 historikken til databaseobjektdefinisjonene dine og kan bruke Git-konsepter som branching og merging for å tilpasse utviklingsprosessen din.
- Koble til SQL-databasen din i Fabric SQL-editoren, SQL Server Management Studio, MSSQL-utvidelsen for Visual Studio Code, eller andre eksterne verktøy.
- Opprett en ny tabell, lagret prosedyre eller et annet objekt i databasen.
- Velg kildekontrollknappen for å åpne kildekontrollpanelet.
- Merk av for den ønskede databasen. Velg Utfør. Fabric-tjenesten leser objektdefinisjoner fra databasen og skriver dem til det eksterne repositoriet.
- Nå kan du vise loggen for databaseobjekter i kildevisning for koderepositorium.
Etter hvert som du fortsetter å redigere databasen, inkludert å redigere eksisterende objekter, forplikt du disse endringene til kildekode ved å følge de foregående stegene.
SQL-prosjektfil
SQL-prosjektfilen i kildekontrollarkivet inneholder metadata om databasen. Integrasjon av fabric-kildekontroll bruker denne filen for å bringe mer funksjonalitet inn i kildekontroll- og distribusjonspipelines. Integrasjon med fabric-kildekontroll genererer og oppdaterer automatisk prosjektfilen. Unngå manuelle redigeringer av prosjektfilen fordi redigeringene dine i prosjektfilen blir overskrevet av Fabric-kildekontrollintegrasjon ved neste commit fra Fabric. Men hvis du vil bygge et SQL-prosjekt lokalt ved å bruke SQL-verktøy som SQL Server Management Studio eller SQL projects-utvidelsen for Visual Studio Code, kan du legge til en referanse til master.dacpac filen i prosjektfilen din.
Fabric-integrasjonen med SQL-prosjekter legger til disse metadataegenskapene i prosjektfilen:
- Ekskluderer
.sharedQueriesmappen fra databaseprosjektets bygge. Denne eksklusjonen lar deg spore skriptene i versionskontroll uten å påvirke valideringen av databasemodellen. - Pre-deployment og post-deployment skript fra .sharedQueries-mappen
- Systemobjektreferanser som en pakkereferanse til master.dacpac-filen
Systemobjektreferansefunksjonen settes opp automatisk uten at noen handling kreves. Fabric-spørringseditoren tilbyr skript før og etter distribusjon under mappen Shared Queries .
Oppdater Fabric SQL-databasen fra kildekontrollen
I dette scenariet oppretter du databaseobjekter som kode i SQL Projects-utvidelsen i Visual Studio Code, og deretter committer du filene til kildekode før du oppdaterer Fabric SQL-databasen fra kildekontrollintegrasjonen. Dette scenariet er rettet mot utviklere som foretrekker å jobbe i Visual Studio Code, har eksisterende applikasjoner som bruker SQL-prosjekter, eller har mer avanserte krav til CI/CD-pipeline.
- Sørg for å installere den nyeste versjonen av Visual Studio Code og MSSQL- og SQL-prosjektutvidelsene for Visual Studio Code.
- 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.
- Klon kildekontrollrepositoriet til den lokale maskinen.
- Hvis du bruker Azure DevOps, velg kontekstmenyen
...for kildekontrollprosjektet. Velg Clone for å kopiere ditt Azure DevOps repository til din lokale maskin. Hvis du er ny på Azure DevOps, se guiden Code med git for Azure DevOps. - Hvis du bruker GitHub, velg knappen Code i repositoriet og kopier URL-en for å klone repositoriet til din lokale maskin. Hvis du er ny på GitHub, se guiden cloning a repository.
- Hvis du bruker Azure DevOps, velg kontekstmenyen
- Å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 navn
<yourdatabase>.SQLDatabasei Visual Studio Code etter at du byttet gren. - Opprett en
.sqlfil for minst én tabell du ønsker å opprette i databasen innenfor mappestrukturen for databasen din. Filen skal inneholde setningenCREATE TABLEfor tabellen. Du kan for eksempel opprette en fil med navnetMyTable.sqli mappendbo/Tablesmed følgende innhold:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) ); - For å sikre at syntaksen er gyldig, valider databasemodellen med SQL-prosjektet. Etter å ha lagt til filene, bruk visningen Databaseprosjekter i Visual Studio Code for å bygge prosjektet.
- Etter en vellykket bygging, committer du filene til kildekontroll ved å bruke kildekontrollvisningen i Visual Studio Code eller ditt foretrukne lokale git-grensesnitt.
- Trykk/synkroniser utføringen til det eksterne repositoriet. Sjekk at de nye filene dine vises i Azure DevOps eller GitHub.
- 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. Denne tilstanden skjer fordi Git-integrasjonsfunksjonen gjør en direkte sammenligning av alt filinnhold generert for en elementdefinisjon, og noen utilsiktede forskjeller er mulige. Ett eksempel er innebygde attributter i kolonner. I disse tilfellene må du committe tilbake til kildekontroll i Fabric-webgrensesnittet for å synkronisere definisjonen med det som genereres som en del av en commit-operasjon.
- Når oppdateringen er fullført, bruk et verktøy du velger for å koble til databasen. Objektene du la til i SQL-prosjektet er synlige i databasen.
Merk
Når du gjør endringer i det lokale SQL-prosjektet, hvis det oppstår en syntaksfeil eller bruk av ikke-støttede funksjoner i Fabric, mislykkes databaseoppdateringen. 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 bestemmer endringene som er nødvendige for å oppdatere databasen slik at den matcher filen .dacpac . 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
Du kan også klone det kildekodede SQL-prosjektet til din lokale maskin for redigering i Visual Studio Code, SQL Server Management Studio eller andre SQL-prosjektverktøy. Bygg SQL-prosjektet lokalt for å validere endringer før du committer dem til kildekontroll.
Opprette et grenarbeidsområde
I dette scenariet setter du opp et nytt utviklingsmiljø i Fabric ved at Fabric lager et duplisert sett med ressurser basert på kildekontrolldefinisjonen. Den dupliserte databasen inkluderer databaseobjektene du sjekket inn i kildekodekontrollen. Dette scenariet er for utviklere som fortsetter sin applikasjonsutviklingslivssyklus i Fabric og benytter kildekontrollintegrasjonen fra Fabric.
- 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.
- Åpne kildekontrollpanelet i Fabric-arbeidsområdet. Velg Gren ut til nytt arbeidsområde på Fanen Forgreninger på kildekontrollmenyen.
- Spesifiser navnene på grenen og arbeidsområdet som skal opprettes. Grenen opprettes i kildekontrollrepositoriet og fylles med det forpliktede innholdet til grenen som er knyttet til arbeidsområdet du forgrener fra. Arbeidsområdet opprettes i Fabric.
- 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 scenariet bruker du kildekoderepositoriet for å gjennomgå databaseendringer før de er tilgjengelige for distribusjon. Dette scenariet er for utviklere som jobber i et teammiljø og bruker kildekode for å administrere databaseendringene sine.
Opprett to arbeidsområder med tilknyttede grener i samme repositorium, som beskrevet i forrige scenario.
- 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.
- Sjekk inn disse endringene i kildekontroll ved å bruke Commit-knappen på kildekontrollpanelet i Fabric.
- I Azure DevOps eller GitHub, opprett en pull request fra den sekundære grenen til den primære grenen.
- I pull-forespørselen kan du se endringene i databasekoden mellom det primære arbeidsområdet og det sekundære arbeidsområdet.
- 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.
Administrer statiske data med et post-deploying-skript
I dette tilfellet kontrollerer du radene i en oppslagstabell i databasen din med kildekodekontroll. Muligheten som muliggjør denne funksjonaliteten, både før og etter utrulling, gjelder også for distribusjonspipelines, slik at du kan bruke de samme skriptene til å håndtere statisk data i begge scenarioer.
Fra en SQL-database i Fabric som er koblet til kildekontroll, identifiser eller lag en tabell som du ønsker å administrere statiske data for. For eksempel kan du ha en
dbo.Colorstabell som brukes av applikasjonen din og som har et kjent sett med verdier som ikke endres ofte.Opprett en ny spørring i SQL-databaseeditoren i Fabric. I spørringseditoren, legg til en
MERGEsetning for å administrere innholdet iColorstabellen. Eksempel:MERGE dbo.Colors AS target USING (VALUES (1, 'Red'), (2, 'Green'), (3, 'Blue') ) AS source (Id, Name) ON target.Id = source.Id WHEN MATCHED THEN UPDATE SET Name = source.Name WHEN NOT MATCHED BY TARGET THEN INSERT (Id, Name) VALUES (source.Id, source.Name) WHEN NOT MATCHED BY SOURCE THEN DELETE;Gi spørringen nytt navn til
Post-Deployment-StaticData.sqlog flytt den til Delte forespørsler.Når du er inne i Delte spørringer, velg ... menyen for spørringen og velg Sett som Skript etter utrulling.
Denne spørringen kjøres automatisk som en del av enhver oppdatering fra kildekontroll- eller distribusjonspipeline-distribusjon, slik at du kan administrere de statiske dataene i Colors tabellen ved å bruke kildekontroll. Du kan redigere spørringen i Fabric-spørringseditoren og gjøre endringer i kildekode for å håndtere endringer i de statiske dataene over tid. I tillegg, siden skript før og etter distribusjon er inkludert i SQL-prosjektet, kan du også redigere spørringen fra din lokale maskin ved å bruke Visual Studio Code eller andre SQL-prosjektverktøy, og deretter lagre disse endringene i kildekontroll. Lær mer om skript før og etter utrulling i dokumentasjonen for SQL-prosjekter.