Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Gælder for:✅SQL database i Microsoft Fabric
I denne tutorial lærer du, hvordan du arbejder med din SQL-database i Fabric ved at bruge Fabric git-integration versionskontrol.
En SQL-database i Microsoft Fabric har versionskontrolintegration, eller "git-integration", så brugere kan følge definitionerne af deres databaseobjekter over tid. Denne integration gør det muligt for et team at:
- Commit databasen til versionskontrol, som automatisk konverterer den levende database til kode i det konfigurerede versionskontrol-repository (såsom Azure DevOps).
- Opdater databaseobjekter fra indholdet af kildekontrolelementet, som validerer koden i kildekontrollageret, før der anvendes en differentiel ændring på databasen.
Hvis du ikke kender Git, er her nogle anbefalede ressourcer:
Denne artikel præsenterer en række nyttige scenarier, som du kan bruge enkeltvis eller i kombination til at styre din udviklingsproces med SQL-database i Fabric:
- Konvertér Fabric SQL-databasen til kode i kildestyringen
- Opdater Fabric SQL-databasen fra kildekontrolelementet
- Opret et forgreningsarbejdsområde
- Flet ændringer fra én forgrening til en anden
- Administrer statiske data med et post-deployment-script
Scenarierne i denne artikel er beskrevet i et afsnit af Data Exposed. Se videoen for at få en oversigt over integration af kildestyring i Fabric:
Bemærk
Databaseniveau-indstillinger som samling og kompatibilitetsniveau er ikke inkluderet i integrationen af versionskontrol og deployment pipelines på nuværende tidspunkt. For databaseindstillinger, som du kan sætte ved at bruge T-SQL efter databaseoprettelse, kan du ændre databasen med scripts efter udrulning.
Forudsætninger
- Du har brug for en eksisterende Fabric-kapacitet. Hvis du ikke gør det, skal du starte en Fabric-prøveversion.
- Sørg for at aktivere lejerindstillingerne for Git-integration.
- Opret et nyt arbejdsområde, eller brug et eksisterende Fabric-arbejdsområde.
- Opret eller brug en eksisterende SQL-database i Fabric. Hvis du ikke allerede har en, kan du oprette en ny SQL-database i Fabric.
- Valgfrit: Installer Visual Studio Code, MSSQL-udvidelsen og udvidelsen SQL projects til VS Code.
Opsætte
Denne lagerforbindelse gælder på arbejdsområdeniveau, så en enkelt forgrening i lageret er knyttet til det pågældende arbejdsområde. Repositoryet kan have flere branches, men kun koden i den branch, der er valgt i workspace-indstillinger, påvirker direkte workspace.
Du kan finde trin til at forbinde dit arbejdsområde til et kildekontrollager under Kom i gang med Git-integration. Dit arbejdsområde kan forbindes til et Azure DevOps- eller GitHub-fjernarkiv.
Føj Fabric SQL-databasen til kildestyring
I dette scenarie committer du databaseobjekter til versionskontrol. Du er muligvis ved at udvikle et program, hvor du opretter objekter direkte i en testdatabase og sporer den pågældende database i kildekontrolelementet på samme måde som programkoden. Som resultat har du adgang til historikken for dine databaseobjektdefinitioner og kan bruge Git-koncepter som branching og merging til at tilpasse din udviklingsproces.
- Forbind til din SQL-database i Fabric SQL-editoren, SQL Server Management Studio, MSSQL-udvidelsen til Visual Studio Code eller andre eksterne værktøjer.
- Opret en ny tabel, en lagret procedure eller et andet objekt i databasen.
- Vælg knappen Kildekontrolelement for at åbne kildepanelet i Kontrolpanel.
- Markér afkrydsningsfeltet ud for den ønskede database. Vælg Bekræft. Fabric-tjenesten læser objektdefinitioner fra databasen og skriver dem til fjernlageret.
- Du kan nu få vist oversigten over databaseobjekter i kildevisningen for kodelageret.
Efterhånden som du fortsætter med at redigere databasen, inklusive redigering af eksisterende objekter, skal du committe disse ændringer til versionskontrol ved at følge de foregående trin.
SQL-projektfil
SQL-projektfilen i versionskontrolarkivet indeholder metadata om databasen. Fabric versionskontrolintegration bruger denne fil til at bringe mere funktionalitet ind i versionsstyrings- og deployment-pipelines. Integration af fabric versionskontrol genererer og opdaterer automatisk projektfilen. Undgå manuelle redigeringer af projektfilen, fordi dine redigeringer til projektfilen bliver overskrevet af Fabric-versionskontrolintegration ved næste commit fra Fabric. Men hvis du vil bygge et SQL-projekt lokalt ved at bruge SQL-værktøjer som SQL Server Management Studio eller SQL projects-udvidelsen til Visual Studio Code, kan du tilføje en reference til master.dacpac filen i din projektfil.
Fabric-integrationen med SQL-projekter tilføjer disse metadata-egenskaber til projektfilen:
- Udelukker
.sharedQueriesmappen fra databaseprojekt-buildet. Denne undtagelse gør det muligt at spore scripts i versionsstyring uden at påvirke valideringen af databasemodellen. - Pre-deployment og post-deployment scripts fra .sharedQueries-mappen
- Systemobjektreferencer som en pakkereference til master.dacpac-filen
Systemobjektreference-funktionen oprettes automatisk uden at der kræves nogen handling. Fabric-forespørgselseditoren leverer scripts før og efter udrulning under mappen Shared Queries .
Opdater Fabric SQL-databasen fra kildekontrolelementet
I dette scenarie opretter du databaseobjekter som kode i SQL Projects-udvidelsen i Visual Studio Code, og derefter committer du filerne til versionskontrol, før du opdaterer Fabric SQL-databasen fra versionskontrolintegrationen. Dette scenarie er rettet mod udviklere, der foretrækker at arbejde i Visual Studio Code, har eksisterende applikationer med SQL-projekter eller har mere avancerede CI/CD-pipelinekrav.
- Sørg for at installere den nyeste version af Visual Studio Code samt MSSQL- og SQL-projektudvidelserne til Visual Studio Code.
- Opret en ny SQL-database i arbejdsområdet, og send den til kildekontrol uden at tilføje objekter. Dette trin føjer de tomme metadata for SQL-projektet og SQL-databaseelementet til lageret.
- Klon kildekontrollageret til din lokale computer.
- Hvis du bruger Azure DevOps, vælg kontekstmenuen
...for versionskontrolprojektet. Vælg Clone for at kopiere dit Azure DevOps repository til din lokale maskine. Hvis du er ny til Azure DevOps, så se guiden Code med git for Azure DevOps. - Hvis du bruger GitHub, vælg knappen Code i repositoryet og kopier URL'en for at klone repositoryet til din lokale maskine. Hvis du er ny til GitHub, så se guiden cloning a repository.
- Hvis du bruger Azure DevOps, vælg kontekstmenuen
- Åbn den klonede mappe i Visual Studio Code. Den forgrening, der er knyttet til arbejdsområdet, er muligvis ikke standard. Du burde se en mappe med navnet
<yourdatabase>.SQLDatabaseVisual Studio Code efter at have skiftet branch. - Opret en
.sqlfil for mindst én tabel, du vil oprette i databasen inden for mappestrukturen for din database. Filen skal indeholde sætningenCREATE TABLEfor tabellen. Opret f.eks. en fil med navnetMyTable.sqli mappendbo/Tablesmed følgende indhold:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) ); - For at sikre, at syntaksen er gyldig, valider databasemodellen med SQL-projektet. Efter at have tilføjet filerne, brug Databaseprojekternes visning i Visual Studio Code til at bygge projektet.
- Efter en vellykket build , commit-filer til versionskontrol ved at bruge versionskontrolvisningen i Visual Studio Code eller dit foretrukne lokale git-interface.
- Push/synkroniser din bekræftelse til fjernlageret. Tjek at dine nye filer vises i Azure DevOps eller GitHub.
- Gå tilbage til Fabric-webgrænsefladen, og åbn kontrolpanelet Kilde i arbejdsområdet. Du har muligvis allerede en besked om, at "du har ventende ændringer fra git". Vælg knappen Opdater (Opdater alle) for at anvende koden fra SQL-projektet på databasen.
- Du kan muligvis se, at databasen straks angiver, at den er "Ikke-godkendt" efter opdateringen. Denne tilstand opstår, fordi Git Integration-funktionen laver en direkte sammenligning af alt filindhold, der genereres for en item definition, og der er mulighed for utilsigtede forskelle. Et eksempel er indbyggede attributter for kolonner. I disse tilfælde skal du committe tilbage til versionskontrol i Fabric-webgrænsefladen for at synkronisere definitionen med det, der genereres som en del af en commit-operation.
- Når opdateringen er færdig, brug et værktøj efter eget valg til at forbinde til databasen. De objekter, du tilføjede til SQL-projektet, er synlige i databasen.
Bemærk
Når du laver ændringer i det lokale SQL-projekt, hvis der opstår en syntaksfejl eller brug af ikke-understøttede funktioner i Fabric, fejler databaseopdateringen. Du skal manuelt gendanne ændringen i kildekontrolelementet, før du kan fortsætte.
Opdatering af en SQL-database i Fabric fra kildekontrol kombinerer et SQL-projektbuild og en sqlPackage-publiceringshandling. SQL-projektbuildet validerer SQL-filernes syntaks og genererer en .dacpac fil. SqlPackage-publiceringsoperationen bestemmer de nødvendige ændringer for at opdatere databasen, så den matcher filen .dacpac . På grund af fabric-grænsefladens strømlinede karakter anvendes følgende indstillinger på sqlPackage-publiceringshandlingen:
/p:ScriptDatabaseOptions = false/p:DoNotAlterReplicatedObjects = false/p:IncludeTransactionalScripts = true/p:GenerateSmartDefaults = true
Du kan også klone det kildekodede SQL-projekt til din lokale maskine for redigering i Visual Studio Code, SQL Server Management Studio eller andre SQL-projektværktøjer. Byg SQL-projektet lokalt for at validere ændringer, før du committer dem til versionskontrol.
Opret et forgreningsarbejdsområde
I dette scenarie opretter du et nyt udviklingsmiljø i Fabric ved at lade Fabric oprette et duplikeret sæt ressourcer baseret på versionskontroldefinitionen. Den dublette database inkluderer de databaseobjekter, du har tjekket ind i versionskontrol. Dette scenarie er for udviklere, der fortsætter deres applikationsudviklingscyklus i Fabric og benytter versionskontrolintegrationen fra Fabric.
- Fuldfør scenariet konvertér Fabric SQL-databasen til kode i versionsstyring.
- Du skal have en forgrening i et kildekontrollager med både et SQL-projekt og Metadata for Fabric-objektet.
- Åbn kildekontrolpanelet i arbejdsområdet Fabric. Under fanen Forgreninger i menuen Kildekontrolelement skal du vælge Forgrening ud til nyt arbejdsområde.
- Angiv navnene på den gren og det arbejdsområde, der skal oprettes. Grenen oprettes i kildekodekontrol-repositoryet og fyldes med det forpligtede indhold fra den gren, der er tilknyttet det arbejdsområde, du forgrener fra. Arbejdsområdet oprettes i Fabric.
- Gå til det nyoprettede arbejdsområde i Fabric. Når oprettelsen af databasen er fuldført, indeholder den nyoprettede database nu de objekter, der er angivet i koderepoet. Hvis du åbner Fabric-forespørgselseditoren og navigerer i Objektoversigt, har databasen nye (tomme) tabeller og andre objekter.
Flet ændringer fra én forgrening til en anden
I dette scenarie bruger du versionsstyringsarkivet til at gennemgå databaseændringer, før de er tilgængelige for udrulning. Dette scenarie er for udviklere, der arbejder i et teammiljø og bruger versionskontrol til at håndtere deres databaseændringer.
Opret to arbejdsområder med tilknyttede forgreninger i det samme lager, som beskrevet i det forrige scenarie.
- Med databasen på den sekundære forgrening kan du foretage ændringer af databaseobjekterne.
- Du kan f.eks. redigere en eksisterende lagret procedure eller oprette en ny tabel.
- Tjek disse ændringer til versionskontrol ved at bruge Commit-knappen på kildekontrolpanelet i Fabric.
- I Azure DevOps eller GitHub skal du oprette en pull request fra den sekundære gren til den primære gren.
- I pullanmodningen kan du se ændringerne i databasekoden mellem det primære arbejdsområde og det sekundære arbejdsområde.
- Når du har fuldført pullanmodningen, opdateres kildekontrolelementet, men databasen i Fabric i det primære arbejdsområde ændres ikke. Hvis du vil ændre den primære database, skal du opdatere det primære arbejdsområde fra kildekontrolelementet ved hjælp af knappen Opdater på kildekontrolpanelet i Fabric.
Administrer statiske data med et post-deployment-script
I dette scenarie styrer du rækkerne i en opslagstabel i din database med versionskontrol. Den funktionalitet, der muliggør denne funktionalitet, både før og efter implementering, gælder også for deployeringspipelines, så du kan bruge de samme scripts til at håndtere statiske data i begge scenarier.
Fra en SQL-database i Fabric, der er forbundet til versionskontrol, identificer eller opret en tabel, som du vil administrere statiske data for. For eksempel kan du have en
dbo.Colorstabel, som din applikation bruger og har et kendt sæt værdier, som ikke ændrer sig ofte.Opret en ny forespørgsel i SQL-databaseeditoren i Fabric. I forespørgselseditoren tilføjes en
MERGEsætning til at styre indholdet af tabellenColors. 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;Omdøb forespørgslen til
Post-Deployment-StaticData.sqlog flyt den til Shared Queries.Når du er i Shared Queries, vælg ... menuen for forespørgslen og vælg Set as Post-deployment Script.
Denne forespørgsel kører automatisk som en del af enhver opdatering fra versionskontrol eller deployment pipeline-deployment, så du kan administrere de statiske data i Colors tabellen ved hjælp af versionskontrol. Du kan redigere forespørgslen i Fabric-forespørgselseditoren og committe ændringer til versionsstyring for at håndtere ændringer i de statiske data over tid. Derudover, fordi pre-deployment og post-deployment scripts er inkluderet i SQL-projektet, kan du også redigere forespørgslen fra din lokale maskine ved at bruge Visual Studio Code eller andre SQL-projektværktøjer og derefter committe disse ændringer til versionskontrol. Lær mere om scripts før og efter implementering i SQL-projektets dokumentation.