Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:✅ Lagerlokal i Microsoft Fabric
Lär dig hur du konfigurerar ett databasprojekt för Fabric Data Warehouse i Visual Studio Code. Du skapar ett nytt projekt, definierar schemaobjekt, bygger och validerar projektet och publicerar det i ditt lager.
Viktigt!
Den här funktionen är i förhandsversion.
Förutsättningar
Innan du börjar kontrollerar du att:
- Ha åtkomst till ett befintligt lagerobjekt i en Fabric-arbetsyta med deltagarbehörighet eller högre.
- Information om hur du skapar ett nytt exempellager finns i Skapa ett exempellager i Microsoft Fabric.
- Installera Visual Studio Code på din arbetsstation.
- Installera .NET SDK för att skapa och publicera databasprojekt.
- Installera två Visual Studio Code tillägg: SQL Database Projects och SQL Server (mssql).
- Du kan installera nödvändiga tillägg direkt från Visual Studio Code Marketplace genom att söka efter "SQL Database Projects" eller "SQL Server (mssql)".
Skapa ett nytt databasprojekt
Du kan skapa ett databasprojekt från grunden eller från ett befintligt lager.
Alternativ 1: Skapa ett nytt databasprojekt från kommandopaletten i Visual Studio Code
Öppna Visual Studio Code.
Öppna kommandopaletten (
Ctrl+Shift+PellerCmd+Shift+Ppå Mac).Sök efter databasprojekt: Ny.
Välj Database Project Type som SQL Server Database.
Välj ett projektnamn och välj platsen för den lokala mappen.
Välj Synapse Data Warehouse i Microsoft Fabric som målplattform.
När du uppmanas till det väljer du Ja (rekommenderas) för ett SDK-projekt.
Viktigt!
Endast SDK-format projekt stöds för Fabric Data Warehouse.
Välj Ja till frågan Vill du konfigurera SQL-projektversion som standardkonfiguration för den här mappen?
Välj Ja för att lita på författarna till filerna i den här mappen.
Alternativ 2: Skapa ett nytt databasprojekt från databasprojekttillägget
I Visual Studio Code väljer du tilläggsikonen Database Projects från Activity Bar.
I fönstret Databasprojekt väljer du Skapa ny.
Välj Database Project Type som SQL Server Database.
Välj ett projektnamn och välj platsen för den lokala mappen.
Välj Synapse Data Warehouse i Microsoft Fabric som målplattform.
När du uppmanas till det väljer du Ja (rekommenderas) för ett SDK-projekt. Endast SDK-format projekt stöds för Fabric Data Warehouse.
Välj Ja till frågan Vill du konfigurera SQL-projektversion som standardkonfiguration för den här mappen?
Välj Ja för att lita på författarna till filerna i den här mappen.
Alternativ 3: Skapa ett databasprojekt från ett befintligt lager
Skapa först en ny anslutningsprofil för ditt lager i Visual Studio Code.
- Välj tillägget SQL Server i Visual Studio Code från Activity Bar.
- Ange ett profilnamn. Välj Parametrar.
- Ange servernamnet. I Fabric-portalen, i inställningarna för ditt lager, välj SQL-reťazec pripojenia och kopiera den medföljande strängen. Denna sträng är servernamnet på ditt lager och skiljer sig från SQL-analysändpunkten. Det ser ut som
<server unique ID>.datawarehouse.fabric.microsoft.com. - För Authentication type använder du Microsoft Entra ID – Universell med MFA-stöd. Autentisera med din Microsoft Entra ID.
- Ange annan information som standard eller önskad, och välj Anslut.
I Visual Studio Code väljer du tilläggsikonen Database Projects i aktivitetsfältet.
Välj alternativknappen
...i fönstret Databasprojekt och välj alternativet Skapa projekt från databas .
Välj ditt lager från de befintliga anslutningsprofilerna.
Ange ett projektnamn och välj en projektmapp på din arbetsstation.
För mappstruktur väljer du Schema/Objekttyp (rekommenderas).
För Inkludera behörigheter i projektet väljer du Nej (standard).
För SDK-projekt väljer du Ja (rekommenderas).
Välj Ja till frågan Vill du konfigurera SQL-projektversion som standardkonfiguration för den här mappen?
Visual Studio Code extraherar projektfiler från lagerprojekt.
Efter lyckad extrahering ser du följande notifikation: "Extrahera projektfiler: Lyckades. Slutförd".
Välj Ja för att lita på författarna till filerna i den här mappen.
Nytt databasprojekt för ditt lager
Det nya databasprojektet för ditt lager visas på SQL Database Projects-menyn.
Projektstrukturen ser ut så här:
| Project Name
├── Database References
├── SQLCMD Variables
├── .vscode/
└── schema/
├── Functions
├── Tables
└── Views
Konfigurera databasprojektet
Högerklicka på projektet och välj Redigera .sqlproj-fil.
Kontrollera att filen innehåller den senaste versionen av Microsoft. Build.Sql SDK. Till exempel ändrar du versionen från
Microsoft.Build.Sqltill2.3.0i filen.sqlproj.<Sdk Name="Microsoft.Build.Sql" Version="2.3.0" />Kontrollera den senaste versionen av Microsoft.SqlServer.Dacpacs.FabricDw och lägg till en referens i
Project/ItemGroupXML-noden. Till exempel:<PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.4"> <DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue> <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> </PackageReference>Viktigt!
Om du lägger till paketreferensen utan metadata för
DatabaseVariableLiteralValuegår det att bygga projektet, men åtgärdernasqlpackagePublish och Script kan misslyckas så snart koden refererar till objekt i schematsys, till exempelsys.views. I så fall ser du fel som följande:Error SQL72033: This deployment may encounter errors during execution because [<schema>].[<procedure>] depends on [sys].[views].[schema_id] and [sys].[views].[schema_id] does not exist in the target database.Så här bör databasprojektet för ett lager se ut efter uppdateringarna.
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build"> <Sdk Name="Microsoft.Build.Sql" Version="2.3.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.4"> <DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue> <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> </PackageReference> </ItemGroup> <Target Name="BeforeBuild"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" /> </Target> </Project>.sqlprojSpara filen. I uppmaningen att läsa in databasprojektet igen väljer du Ja.
Viktigt!
Fabric Data Warehouse-teamet släpper ofta nya versioner av NuGet-paket. Eftersom standardversionens värden i filen .sqlproj kan ändras över tid, uppdatera dem i ditt lokala projekt för att hålla dem i linje med de senaste versionerna som finns tillgängliga från NuGet för Microsoft. SqlServer.Dacpacs.FabricDw.
Lägga till eller uppdatera databasobjekt
Du kan definiera eller ändra databasobjekt som tabeller, vyer, lagrade procedurer och funktioner i ditt lagerprojekt.
Under mappen för ett schema, till exempel dbo, lägger du till eller tar bort eller gör ändringar i T-SQL-definitionerna för objekt i ditt lager. Om du vill ändra ett befintligt objekt öppnar du motsvarande .sql fil och uppdaterar definitionen efter behov.
När du skapar projektet verifieras alla nya och uppdaterade objekt och ingår i den genererade dacpac-filen i {project folder location}/bin/debug/{project name}.dacpac filen.
Ändringar som görs här är bara i databasprojektet och återspeglas inte i Microsoft Fabric förrän du Build och Publicera projektet.
Skapa och verifiera projektet
Öppna databasprojektet om det inte redan är öppet.
Högerklicka på projektet och välj Bygg för att bygga databasprojektet.
Bygget bör lyckas. Åtgärda eventuella fel baserat på meddelanden som ges i utdata från bygghändelsen.
Anmärkning
För närvarande måste din standardterminal i Visual Studio Code vara PowerShell för att byggprocessen i Database Projects-tillägget ska lyckas. I Kommandopaletten, välj Terminal: Välj Standardprofil och välj sedan PowerShell.
Publicera till Fabric Data Warehouse
När du har skapat projektet publicerar du det till mållagret. Publicering skapar ett skript för att lösa skillnaden mellan databasprojektet och det faktiska lagret och kör ett skript för att göra att lagret matchar projektet. Du kan distribuera den kompilerade modellen av lagerschemat i en .dacpac-fil till ett mållager.
Högerklicka på projektet och välj Publicera.
Välj Publicera på en befintlig SQL-server.
För Välj publiceringsprofil som ska läsas in väljer du Använd inte profil första gången du publicerar.
- Spara alternativ för att publicera ditt lager i en publiceringsprofil. En Visual Studio Code-notis ger dig möjlighet att spara publiceringsalternativen du använde till en publiceringsprofilfil.
- Återanvänd publiceringsprofilen i framtiden när du publicerar ditt projekt i ditt lager. Du kan ha olika profilalternativ för olika lager eller för olika miljöer i utvecklingsmiljöerna dev/test/acceptance/production.
Välj anslutningsprofilen Fabric Data Warehouse i listan.
Välj namnet på mållagret.
I alternativet Välj åtgärd kan du antingen generera skript för att granska skriptet innan du publicerar eller publicera projektet till ett lager. - Den första gången du vill distribuera ändringar ska du noggrant Generera skript och granska den resulterande T-SQL-koden så att den kan tillämpas på mållagret. Att generera skriptet gör inga förändringar i mållageret.
- Om du väljer Publicera skriver processen ändringar till ditt mållager.
I meddelandet Vill du spara inställningarna i en profil (.publish.xml)? väljer du Ja och sparar dina publiceringsprofilval för nästa gång du behöver publicera.
Viktiga distributionsinställningar för lagerprojekt
När du distribuerar databasprojekt till Fabric Data Warehouse kontrollerar flera inställningar schemaändringar och kan påverka datasäkerheten. Använd med försiktighet.
BlockOnPossibleDataLoss- Vad den gör: Förhindrar distribution om det finns en risk för dataförlust (till exempel om du tar bort en kolumn eller tabell som innehåller data).
-
Rekommendation: Ange alltid till
Truei produktion för att skydda kritiska data. -
Försiktighet: Om du ställer in den på
Falsetillåter du distribution även om data kan gå förlorade. Använd endast i kontrollerade miljöer (till exempel dev/test).
DropObjectsNotInSource- Vad den gör: Släpper objekt i måldatabasen som inte finns i projektkällan.
- Rekommendation: Använd i utvecklings-/testmiljöer för att rensa överblivna objekt.
-
Försiktighet: Användning
DropObjectsNotInSourcei produktion kan ta bort viktiga objekt och data. Dubbelkolla innan du aktiverar.
PreDeployför fördistributionsskriptet-
Vad den gör
- Exekverar egna SQL-skript innan schema-distributionen.
-
Vanliga användningsområden
- Arkivera eller säkerhetskopiera data innan du släpper tabeller
- Inaktivera begränsningar eller utlösare tillfälligt
- Rensa äldre objekt
-
Försiktighet
- Se till att skripten är idempotenta och inte introducerar schemaändringar som krockar med distributionen.
-
Vad den gör
Tip
När en distributionsprocess eller fråga är idempotent kan du köra kommandot flera gånger utan att orsaka logiska problem eller fel. Ett idempotent kommando är också skrivet på ett sätt som kan distribueras till flera databaser utan att behöva förutbestämma deras status.
PostDeployför skriptet efter distributionen- Vad den gör: Kör anpassade SQL-skript efter schemadistributionen.
-
Vanliga användningsområden:
- Seed-uppslag eller referensdata
- Återaktivera begränsningar eller utlösare
- Logg över distributionens historik
- Varning: Undvik tunga operationer på stora bord under produktion. Se till att skripten kan köras säkert flera gånger om det behövs.
Viktigt!
Granska alltid distributionsskript och inställningar innan du publicerar. Testa först i utvecklings- eller testmiljöer för att förhindra oavsiktlig dataförlust. Mer information och exempel finns i Skript före distribution och efter distribution för Fabric Data Warehouse.
Verifiera publicering
Anslut till ditt datalager och skripta de objekt som har ändrats, eller verifiera detta genom att köra systemkatalogens objekt.