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:✅ Warehouse i Microsoft Fabric
Lær, hvordan du opsætter et databaseprojekt til Fabric data warehouse i Visual Studio Code. Du opretter et nyt projekt, definerer skema-objekter, bygger og validerer projektet og publicerer det i dit lager.
Important
Denne funktion er en prøveversion.
Forudsætninger
Før du begynder, skal du sørge for at:
- Have adgang til en eksisterende lagerstedsvare i et stofarbejdsområde med bidragyder eller højere tilladelser.
- For at oprette et nyt prøvelager, se Opret et eksempellager i Microsoft Fabric.
- Installer Visual Studio Code på din arbejdsstation.
- Installer SDK'en .NET for at bygge og udgive databaseprojekter.
- Installer to Visual Studio Code udvidelser: SQL Database Projects og SQL Server (mssql).
- Du kan installere de nødvendige udvidelser direkte fra Visual Studio Code marketplace ved at søge efter "SQL Database Projects" eller "SQL Server (mssql)".
Oprette et nyt databaseprojekt
Du kan oprette et databaseprojekt fra bunden eller fra et eksisterende lager.
Mulighed 1: Opret et nyt databaseprojekt fra Command Palette i Visual Studio Code
Åbn Visual Studio Code.
Åbn kommandopaletten (
Ctrl+Shift+PellerCmd+Shift+Ppå Mac).Søg efter databaseprojekter: Ny.
Vælg Database Project Type som SQL Server Database.
Vælg et projektnavn, og vælg placeringen af den lokale mappe.
Vælg Synapse data warehouse i Microsoft Fabric som målplatform.
Når du bliver bedt om det, skal du vælge Ja (anbefales) for et SDK-projekt.
Important
Kun SDK-stil projekter understøttes for Fabric data warehouse.
Vælg Ja til spørgsmålet Vil du konfigurere SQL-projektbuild som standardbuildkonfiguration for denne mappe?
Vælg Ja for at have tillid til forfatterne af filerne i denne mappe.
Mulighed 2: Opret et nyt databaseprojekt fra udvidelsen Databaseprojekter
I Visual Studio Code vælg Database Projects udvidelsesikonet fra Activity Bar.
I ruden Databaseprojekter skal du vælge Opret ny.
Vælg Database Project Type som SQL Server Database.
Vælg et projektnavn, og vælg placeringen af den lokale mappe.
Vælg Synapse data warehouse i Microsoft Fabric som målplatform.
Når du bliver bedt om det, skal du vælge Ja (anbefales) for et SDK-projekt. Kun SDK-stil projekter understøttes for Fabric data warehouse.
Vælg Ja til spørgsmålet Vil du konfigurere SQL-projektbuild som standardbuildkonfiguration for denne mappe?
Vælg Ja for at have tillid til forfatterne af filerne i denne mappe.
Mulighed 3: Oprette et databaseprojekt fra et eksisterende lagersted
Først skal du oprette en ny forbindelsesprofil for dit lager i Visual Studio Code.
- Vælg udvidelsen SQL Server i Visual Studio Code fra Aktivitetsbaren.
- Angiv et profilnavn. Vælg Parametre.
- Indtast servernavnet. I Fabric-portalen, i indstillingerne for dit lager, vælg SQL forbindelsesstreng, og kopier den medfølgende streng. Denne streng er servernavnet på dit lager og adskiller sig fra SQL-analyse-endpointet. Det ligner
<server unique ID>.datawarehouse.fabric.microsoft.com. - For Autentificeringstype, brug Microsoft Entra ID - Universal med MFA-understøttelse. Autentificér med dit Microsoft Entra ID.
- Angiv anden information som standard eller ønsket, og vælg Forbind.
I Visual Studio Code skal du vælge ikonet Database Projects udvidelse fra Aktivitetslinjen.
Vælg indstillingsknappen
...i ruden Databaseprojekter , og vælg Opret projekt fra database .
Vælg dit lagersted blandt de eksisterende forbindelsesprofiler.
Indtast et projektnavn og vælg en projektmappe på din arbejdsstation.
For mappestruktur skal du vælge Skema/objekttype (anbefales).
For Medtag tilladelser i projektet skal du vælge Nej (standard).
For SDK-projekt skal du vælge Ja (anbefales).
Vælg Ja til spørgsmålet Vil du konfigurere SQL-projektbuild som standardbuildkonfiguration for denne mappe?
Visual Studio Code udtrækker projektfiler fra lagerprojektet.
Ved vellykket udpakning ser du følgende notifikation: "Udpak projektfiler: Lykkedes. Afsluttet".
Vælg Ja for at have tillid til forfatterne af filerne i denne mappe.
Nyt databaseprojekt til dit lager
Det nye databaseprojekt for dit lagersted vises i menuen SQL Database-projekter.
Din projektstruktur ser sådan ud:
| Project Name
├── Database References
├── SQLCMD Variables
├── .vscode/
└── schema/
├── Functions
├── Tables
└── Views
Konfigurere databaseprojektet
Højreklik på projektet, og vælg Rediger .sqlproj-fil.
Bekræfte, at filen indeholder den nyeste version af Microsoft. Build.Sql SDK. For eksempel kan du ændre versionen for
Microsoft.Build.Sqltil2.3.0i filen.sqlproj.<Sdk Name="Microsoft.Build.Sql" Version="2.3.0" />Kontrollér den nyeste version af Microsoft.SqlServer.Dacpacs.FabricDw, og tilføj en reference i XML-noden
Project/ItemGroup. For eksempel:<PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.4"> <DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue> <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> </PackageReference>Important
Hvis du tilføjer pakkereferencen uden
DatabaseVariableLiteralValuemetadata, lykkes det at bygge projektet, mensqlpackagePublicer og Script-handlinger kan fejle, så snart din kode refererer til objekter i skemaetsys, såsomsys.views. I så fald ser du fejl som følgende: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ådan skal dit databaseprojekt for et lager se ud efter opdateringerne.
<?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>Gem din
.sqlprojfil. Når du bliver bedt om at genindlæse databaseprojektet, skal du vælge Ja.
Important
Fabric data warehouse-teamet udgiver ofte nye versioner af NuGet-pakker. Da standardversionsværdierne i .sqlproj filen kan ændre sig over tid, skal du opdatere dem i dit lokale projekt, så de forbliver i overensstemmelse med de nyeste versioner, der er tilgængelige fra NuGet for Microsoft. SqlServer.Dacpacs.FabricDw.
Tilføje eller opdatere databaseobjekter
Du kan definere eller ændre databaseobjekter, f.eks. tabeller, visninger, lagrede procedurer og funktioner i dit lagerstedsprojekt.
Under mappen for et skema skal du f.eks dbo. tilføje eller slette eller foretage ændringer i T-SQL-definitionerne af objekter på dit lager. Hvis du vil ændre et eksisterende objekt, skal du åbne det tilsvarende .sql arkiv og opdatere definitionen efter behov.
Når du bygger projektet, valideres alle nye og opdaterede objekter og inkluderes i den genererede dacpac-fil i {project folder location}/bin/debug/{project name}.dacpac filen.
Ændringer, der foretages her, gælder kun databaseprojektet og afspejles ikke i Microsoft Fabric, før du Build og Publish dit projekt.
Byg og valider projektet
Åbn databaseprojektet, hvis det ikke allerede er åbent.
Højreklik på projektet og vælg Byg for at bygge databaseprojektet.
Buildet burde lykkes. Ret eventuelle fejl baseret på beskeder, der gives i outputtet af build-eventet.
Notat
I øjeblikket skal din standardterminal i Visual Studio Code være PowerShell for at byggeprocessen i Database Projects-udvidelsen kan lykkes. I Command Palette vælger du Terminal: Vælg Default Profile, og vælg derefter PowerShell.
Publicér til Fabric data warehouse
Når du har oprettet dit projekt, skal du publicere det på dit destinationslager. Udgivelse opretter et script for at løse forskellen mellem databaseprojektet og det faktiske lagersted og udfører et script for at få lagerstedet til at matche projektet. Du kan deploye den kompilerede model af warehouse-skemaet i en .dacpac-fil til et mål-warehouse.
Højreklik på projektet, og vælg Udgiv.
Vælg Publicer på en eksisterende SQL-server.
Vælg Brug ikke profil for Vælg publiceringsprofil, der skal indlæses, første gang du publicerer.
- Gem muligheder for at publicere dit lager i en publicer-profil. En Visual Studio Code-notifikation giver dig mulighed for at gemme de publiceringsmuligheder, du brugte, til en publiceringsprofilfil.
- Genbrug publicer-profilen i fremtiden, når du udgiver dit projekt på dit lager. Du kan have forskellige profilindstillinger for forskellige lagersteder eller for forskellige miljøer i udviklings-/test-/accept-/produktionsudviklingsmiljøer.
Vælg forbindelsesprofilen til Fabric data warehouse fra listen.
Vælg navnet på destinationslagerstedet.
I indstillingen Vælg handling kan du enten generere script for at gennemse scriptet, før du publicerer, eller udgive projektet på et lagersted. - Første gang du vil implementere ændringer, skal du omhyggeligt generere script og gennemgå den resulterende T-SQL, som skal anvendes på mållageret. Generering af scriptet ændrer ingen ændringer i mållageret.
- Hvis du vælger Publicer, skriver processen ændringer til dit mållager.
På meddelelsen Vil du gemme indstillingerne i en profil (.publish.xml)?, skal du vælge Ja og gemme dine valg for publiceringsprofil til næste gang, du skal offentliggøre.
Vigtige implementeringsindstillinger for lagerprojekter
Når du deployerer databaseprojekter til Fabric data warehouse, er der flere indstillinger, der styrer skemaændringer og kan påvirke datasikkerheden. Brug med forsigtighed.
BlockOnPossibleDataLoss- Hvad den gør: Forhindrer udrulning, hvis der er risiko for datatab (for eksempel at droppe en kolonne eller tabel med data).
-
Anbefaling: Altid sat til
Truei produktion for at beskytte kritiske data. -
Forsigtighed: At sætte det til
Falsetillader udrulning, selvom data kan gå tabt. Brug kun i kontrollerede miljøer (for eksempel udvikling/test).
DropObjectsNotInSource- Hvad den gør: Fjerner objekter i måldatabasen, som ikke er til stede i projektkildekoden.
- Anbefaling: Brug i udviklings-/testmiljøer til at rydde op i resterende objekter.
-
Forsigtighed: At bruge
DropObjectsNotInSourcei produktion kan slette vigtige objekter og data. Dobbelttjek før aktivering.
PreDeployfor pre-deployment-scriptet-
Funktion
- Udfører brugerdefinerede SQL-scripts før skemaudrulningen.
-
Almindelige anvendelser
- Arkivér eller sikkerhedskopier data før du dropper tabeller
- Deaktiver begrænsninger eller triggere midlertidigt
- Oprydning af arvobjekter
-
Forsigtighed
- Sørg for, at scripts er idempotente og ikke introducerer skemaændringer, der er i konflikt med deployment.
-
Funktion
Tip
Når en implementeringsproces eller forespørgsel er idempotent, kan du køre kommandoen flere gange uden at forårsage logiske problemer eller fejl. En idempotent kommando er også skrevet på en måde, hvor den kan implementeres til flere databaser uden at skulle forudbestemme deres status.
PostDeployfor post-deployment-scriptet- Hvad den gør: Udfører brugerdefinerede SQL-scripts efter skema-implementeringen.
-
Almindelige anvendelser:
- Seedopslag eller referencedata
- Genaktiver begrænsninger eller triggere
- Logudrulningshistorik
- Advarsel: Undgå tunge operationer på store borde i produktion. Sørg for, at scripts sikkert kan køre flere gange, hvis det er nødvendigt.
Important
Gennemgå altid deployment-scripts og indstillinger, før du udgiver dem. Test først i udviklings- eller testmiljøer for at forhindre utilsigtet datatab. For mere information og eksempler, se scripts før og efter implementering for Fabric data warehouse.
Bekræft udgivelse
Forbind til dit lager og script-objekter, der er ændret, eller verificér ved at køre systemkatalogobjekter.