Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:✅SQL-database in Microsoft Fabric
In deze handleiding leert u hoe u met uw SQL-database in Fabric kunt werken door gebruik te maken van Fabric git-integratiebronbeheer.
Een SQL-database in Microsoft Fabric heeft integratie van broncodebeheer of 'git-integratie', zodat gebruikers de definities van hun databaseobjecten in de loop van de tijd kunnen bijhouden. Met deze integratie kan een team het volgende doen:
- Voer de database door naar broncodebeheer, waarmee de livedatabase automatisch wordt geconverteerd naar code in de geconfigureerde opslagplaats voor broncodebeheer (zoals Azure DevOps).
- Werk databaseobjecten bij van de inhoud van broncodebeheer, waarmee de code in de opslagplaats voor broncodebeheer wordt gevalideerd voordat een differentiële wijziging wordt toegepast op de database.
Als u niet bekend bent met Git, vindt u hier een aantal aanbevolen resources:
In dit artikel vindt u een reeks nuttige scenario's die u afzonderlijk of in combinatie kunt gebruiken om uw ontwikkelproces te beheren met SQL Database in Fabric:
- De Fabric SQL-database converteren naar code in broncodebeheer
- De Fabric SQL-database bijwerken vanuit broncodebeheer
- Een vertakkingswerkruimte maken
- Wijzigingen van de ene branch samenvoegen in een andere
- Statische gegevens beheren met een script na implementatie
De scenario's in dit artikel worden behandeld in een aflevering van Data Exposed. Bekijk de video voor een overzicht van de integratie van broncodebeheer in Fabric:
Notitie
Instellingen op databaseniveau, zoals sortering en compatibiliteitsniveau, worden momenteel niet opgenomen in de integratie van broncodebeheer en implementatiepijplijnen. Voor database-instellingen die u kunt instellen met behulp van T-SQL na het maken van de database, kunt u de database wijzigen met scripts na de implementatie.
Vereisten
- U hebt een bestaande Fabric-capaciteit nodig. Als u dat niet doet, start u een Fabric-proefversie.
- Zorg ervoor dat u tenantinstellingen voor Git-integratie inschakelt.
- Maak een nieuwe werkruimte of gebruik een bestaande Fabric-werkruimte.
- Maak of gebruik een bestaande SQL-database in Fabric. Als u er nog geen hebt, maakt u een nieuwe SQL-database in Fabric.
- Optioneel: installeer Visual Studio Code, de MSSQL-extensie en de extensie SQL-projecten voor VS Code.
Installatie
Deze opslagplaatsverbinding is van toepassing op werkruimteniveau, zodat één vertakking in de opslagplaats is gekoppeld aan die werkruimte. De opslagplaats kan meerdere vertakkingen hebben, maar alleen de code in de vertakking die in de werkruimte-instellingen is geselecteerd, heeft rechtstreeks invloed op de werkruimte.
Zie Aan de slag met Git-integratie voor stappen om uw werkruimte te verbinden met een opslagplaats voor broncodebeheer. Uw werkruimte kan worden verbonden met een Azure DevOps of GitHub externe opslagplaats.
De Fabric SQL-database toevoegen aan broncodebeheer
In dit scenario voert u databaseobjecten door naar broncodebeheer. Mogelijk ontwikkelt u een toepassing waarin u objecten rechtstreeks in een testdatabase maakt en die database bijhoudt in broncodebeheer, net zoals uw toepassingscode. Als gevolg hiervan hebt u toegang tot de geschiedenis van uw databaseobjectdefinities en kunt u Git-concepten zoals vertakking en samenvoegen gebruiken om uw ontwikkelingsproces aan te passen.
- Verbind met je SQL-database in de Fabric SQL editor, SQL Server Management Studio, de MSSQL-extensie voor Visual Studio Code of andere externe tools.
- Maak een nieuwe tabel, opgeslagen procedure of ander object in de database.
- Selecteer de knop Broncodebeheer om het configuratiescherm van de bron te openen.
- Schakel het selectievakje naast de gewenste database in. Selecteer Doorvoeren. De Fabric-service leest objectdefinities uit de database en schrijft deze naar de externe opslagplaats.
- U kunt nu de geschiedenis van databaseobjecten weergeven in de bronweergave van de codeopslagplaats.
Terwijl u de database blijft bewerken, inclusief het bewerken van bestaande objecten, voert u deze wijzigingen door aan broncodebeheer door de voorgaande stappen uit te voeren.
SQL-projectbestand
Het SQL-projectbestand in de opslagplaats voor broncodebeheer bevat metagegevens over de database. Integratie van fabric-bronbeheer gebruikt dit bestand om functionaliteit uit te breiden naar bronbeheer- en implementatiepijplijnen. Integratie van Fabric bronbeheer genereert en werkt het projectbestand automatisch bij. Vermijd handmatige bewerkingen in het projectbestand omdat uw bewerkingen in het projectbestand worden overschreven door de integratie van fabric-broncodebeheer bij de volgende doorvoering vanuit Fabric. Als u echter lokaal een SQL-project wilt bouwen met behulp van SQL-hulpprogramma's zoals SQL Server Management Studio of de extensie SQL-projecten voor Visual Studio Code, kunt u een verwijzing toevoegen naar het bestand in uw master.dacpac projectbestand.
De infrastructuurintegratie met SQL-projecten voegt deze metagegevenseigenschappen toe aan het projectbestand:
- Sluit de
.sharedQueriesmap uit van de databaseprojectbuild. Met deze uitsluiting kunt u de scripts bijhouden in broncodebeheer zonder dat dit van invloed is op de validatie van het databasemodel. - Scripts vóór implementatie en na implementatie vanuit de map .sharedQueries
- Systeemobjectverwijzingen als pakketverwijzing naar het master.dacpac-bestand
De mogelijkheid voor systeemobjectverwijzingen wordt automatisch ingesteld zonder dat er actie is vereist. De Fabric-query-editor biedt scripts vóór de implementatie en na de implementatie onder de map Gedeelde query's .
De Fabric SQL-database bijwerken vanuit broncodebeheer
In dit scenario maakt u databaseobjecten als code in de extensie SQL-projecten in Visual Studio Code en voert u de bestanden vervolgens door naar broncodebeheer voordat u de Fabric SQL-database bijwerkt vanuit de integratie van broncodebeheer. Dit scenario is gericht op ontwikkelaars die liever in Visual Studio Code werken, bestaande toepassingen hebben met BEHULP van SQL-projecten of meer geavanceerde CI/CD-pijplijnvereisten hebben.
- Zorg ervoor dat u de nieuwste versie van Visual Studio Code en de msSQL- en SQL-projectextensies voor Visual Studio Code installeert.
- Maak een nieuwe SQL-database in uw werkruimte en voer deze door naar broncodebeheer zonder objecten toe te voegen. Met deze stap worden de lege metagegevens van het SQL-project en het SQL-database-item toegevoegd aan de opslagplaats.
- Kloon de opslagplaats voor broncodebeheer naar uw lokale computer.
- Als u Azure DevOps gebruikt, selecteert u het contextmenu
...voor het broncodebeheerproject. Selecteer Clone om uw Azure DevOps opslagplaats naar uw lokale computer te kopiëren. Als u nieuw bent bij Azure DevOps, bekijk dan de Engelstalige handleiding Code with git voor Azure DevOps. - Als u GitHub gebruikt, selecteert u de knop Code in de opslagplaats en kopieert u de URL om de opslagplaats naar uw lokale computer te klonen. Als je nieuw bent op GitHub, raadpleeg de handleiding een repository klonen.
- Als u Azure DevOps gebruikt, selecteert u het contextmenu
- Open de gekloonde map met Visual Studio Code. De tak die aan uw werkruimte is gekoppeld, is mogelijk niet de standaard. U ziet nu een map met de naam
<yourdatabase>.SQLDatabasein Visual Studio Code nadat u van vertakking bent gewisseld. - Maak een
.sqlbestand voor ten minste één tabel die u in de database wilt maken in de mapstructuur voor uw database. Het bestand moet deCREATE TABLEinstructie voor de tabel bevatten. Maak bijvoorbeeld een bestand met de naamMyTable.sqlin de mapdbo/Tablesmet de volgende inhoud:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) ); - Valideer het databasemodel met het SQL-project om ervoor te zorgen dat de syntaxis geldig is. Nadat u de bestanden hebt toegevoegd, gebruikt u de weergave Databaseprojecten in Visual Studio Code om het project te bouwen .
- Na een geslaagde build voert u de bestanden door naar broncodebeheer met behulp van de broncodebeheerweergave in Visual Studio Code of de lokale Git-interface van uw voorkeur.
- Push/synchroniseer uw commit naar de externe repository. Controleer of uw nieuwe bestanden worden weergegeven in Azure DevOps of GitHub.
- Ga terug naar de webinterface van Fabric en open het configuratiescherm Source in de werkruimte. Mogelijk hebt u al een waarschuwing dat u openstaande wijzigingen van git hebt. Selecteer de knop Bijwerken (Alles bijwerken) om de code uit uw SQL-project toe te passen op de database.
- Mogelijk ziet u dat de database direct 'Ongecommitteerd' aangeeft te zijn na de update. Deze status treedt op omdat de Git-integratiefunctie een directe vergelijking maakt van alle bestandsinhoud die is gegenereerd voor een itemdefinitie en een aantal onbedoelde verschillen mogelijk zijn. Een voorbeeld hiervan zijn inlinekenmerken voor kolommen. In deze gevallen moet u opnieuw naar de broncontrole committeren in de Fabric-webinterface om de definitie te synchroniseren met wat er wordt gegenereerd als onderdeel van een commit-operatie.
- Zodra de update is voltooid, gebruikt u een hulpprogramma van uw keuze om verbinding te maken met de database. De objecten die u aan het SQL-project hebt toegevoegd, zijn zichtbaar in de database.
Notitie
Wanneer u wijzigingen aanbrengt in het lokale SQL-project, mislukt de database-update als er een syntaxisfout optreedt of als er geen ondersteunde functies in Fabric worden gebruikt. U moet de wijziging in broncodebeheer handmatig terugzetten voordat u kunt doorgaan.
Het bijwerken van een SQL-database in Fabric vanuit broncodebeheer combineert een SQL-projectbuild- en SqlPackage-publicatiebewerking. De SQL-projectbuild valideert de syntaxis van de SQL-bestanden en genereert een .dacpac-bestand. De sqlPackage-publicatiebewerking bepaalt de wijzigingen die nodig zijn om de database bij te werken zodat deze overeenkomt met het .dacpac bestand. Vanwege de gestroomlijnde aard van de Fabric-interface worden de volgende opties toegepast op de publicatiebewerking SqlPackage:
/p:ScriptDatabaseOptions = false/p:DoNotAlterReplicatedObjects = false/p:IncludeTransactionalScripts = true/p:GenerateSmartDefaults = true
U kunt het door bronbeheer beheerde SQL-project ook klonen naar uw lokale machine voor bewerken in Visual Studio Code, SQL Server Management Studio, of andere hulpprogramma's voor SQL-projecten. Bouw het SQL-project lokaal om wijzigingen te valideren voordat u ze doorvoert in broncodebeheer.
Een werkruimte voor branches maken
In dit scenario stelt u een nieuwe ontwikkelomgeving in Fabric in door Fabric een dubbele set resources te laten maken op basis van de definitie van broncodebeheer. De dubbele database bevat de databaseobjecten die u hebt ingecheckt bij broncodebeheer. Dit scenario is bedoeld voor ontwikkelaars die hun levenscyclus voor toepassingsontwikkeling in Fabric voortzetten en gebruikmaken van de integratie van broncodebeheer vanuit Fabric.
- Voltooi het scenario voor het converteren van de Fabric SQL-database naar code in broncodebeheer.
- U moet een vertakking hebben in een opslagplaats voor broncodebeheer met zowel een SQL-project als de metagegevens van het Fabric-object.
- In de Fabric-werkruimte, open het source control-paneel. Selecteer op het tabblad Branches van het menu Broncodebeheer de optie Vertakking naar nieuwe werkruimte.
- Geef de namen op van de vertakking en werkruimte die u wilt maken. De branch wordt aangemaakt in het versiebeheersysteem en gevuld met de toegevoegde inhoud van de branch die is gekoppeld aan de werkruimte waaruit u vertakt. De werkruimte wordt gemaakt in Fabric.
- Ga naar de zojuist gemaakte werkruimte in Fabric. Wanneer het maken van de database is voltooid, bevat de zojuist gemaakte database nu de objecten die zijn opgegeven in de codeopslagplaats. Als u de Fabric-queryeditor opent en navigeert in Objectverkenner, bevat uw database nieuwe (lege) tabellen en andere objecten.
Wijzigingen van de ene branche samenvoegen met een andere
In dit scenario gebruikt u de opslagplaats voor broncodebeheer om databasewijzigingen te controleren voordat deze beschikbaar zijn voor implementatie. Dit scenario is bedoeld voor ontwikkelaars die in een teamomgeving werken en broncodebeheer gebruiken om hun databasewijzigingen te beheren.
Maak twee werkruimten met gekoppelde vertakkingen in dezelfde opslagplaats, zoals beschreven in het vorige scenario.
- Breng met de database op de secundaire vertakking wijzigingen aan in de databaseobjecten.
- U kunt bijvoorbeeld een bestaande opgeslagen procedure wijzigen of een nieuwe tabel maken.
- Controleer deze wijzigingen in broncodebeheer met behulp van de knop Doorvoeren in het configuratiescherm van de bron in Fabric.
- Maak in Azure DevOps of GitHub een pull-aanvraag van de secundaire vertakking naar de primaire vertakking.
- In de pull-aanvraag ziet u de wijzigingen in de databasecode tussen de primaire werkruimte en de secundaire werkruimte.
- Zodra u de pull-aanvraag hebt voltooid, wordt het bronbeheer bijgewerkt, maar wordt de database in Fabric in de primaire werkruimte niet gewijzigd. Als u de primaire database wilt wijzigen, werkt u de primaire werkruimte bij vanuit broncodebeheer met behulp van de knop Bijwerken in het configuratiescherm van de bron in Fabric.
Statische gegevens beheren met een script na implementatie
In dit scenario bepaalt u de rijen in een opzoektabel in uw database met broncodebeheer. De mogelijkheid die deze functionaliteit, pre-implementatie- en post-implementatiescripts mogelijk maakt, is ook van toepassing op implementatiepijplijnen, zodat u dezelfde scripts kunt gebruiken om statische gegevens in beide scenario's te beheren.
Identificeer of maak vanuit een SQL-database in Fabric die is verbonden met broncodebeheer een tabel waarvoor u statische gegevens wilt beheren. U kunt bijvoorbeeld een
dbo.Colorstabel hebben die wordt gebruikt door uw toepassing en een bekende set waarden bevat die niet vaak worden gewijzigd.Maak een nieuwe query in de SQL-database-editor in Fabric. Voeg in de queryeditor een
MERGEinstructie toe om de inhoud van deColorstabel te beheren. Voorbeeld: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;Wijzig de naam van de query in
Post-Deployment-StaticData.sqlen verplaats deze naar gedeelde query's.Eenmaal in Gedeelde query's selecteert u het menu ... voor de query en selecteert u Instellen als script na implementatie.
Deze query wordt automatisch uitgevoerd als onderdeel van een update van broncodebeheer of implementatiepijplijnimplementatie, zodat u de statische gegevens in de Colors tabel kunt beheren met behulp van broncodebeheer. U kunt de query bewerken in de Fabric-queryeditor en wijzigingen doorvoeren in broncodebeheer om wijzigingen in de statische gegevens in de loop van de tijd te beheren. Bovendien kunt u, omdat scripts vóór de implementatie en na de implementatie zijn opgenomen in het SQL-project, ook de query vanaf uw lokale computer bewerken met behulp van Visual Studio Code of andere SQL-projecthulpprogramma's en deze wijzigingen doorvoeren in broncodebeheer. Meer informatie over pre-implementatie- en post-implementatiescripts vindt u in de documentatie van SQL-projecten.
Gerelateerde inhoud
- SQL Database in Microsoft Fabric
- Zelfstudie: Levenscyclusbeheer in Fabric
- Overzicht van SQL-projecten
- hulpprogramma's voor SQL-projecten