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: ✅ Lager i Microsoft Fabric
Denne artikel beskriver metoder til migrering fra Azure Synapse Analytics dedikerede SQL-pools til Microsoft Fabric data warehouse.
Tip
For mere information om strategi og planlægning af din migration, se Migrationsplanlægning: Azure Synapse Analytics dedikerede SQL-pools til Fabric data warehouse.
Du kan få en automatiseret oplevelse med migrering fra dedikerede SQL-puljer i Azure Synapse Analytics ved hjælp af Fabric Migration Assistant til data warehouse-. Resten af denne artikel indeholder flere manuelle overførselstrin.
Følgende tabel opsummerer metoder til migrering af dataskemaet (DDL), databasekoden (DML) og dataene. Kolonnen Optionen linker til detaljer for hvert scenarie.
| Optionsnummer | Mulighed | Det gør den | Færdighed eller præference | Scenarie |
|---|---|---|---|---|
| 1 | datafabrik | Skemakonvertering (DDL) Udtræk data Dataindtagelse |
ADF/pipeline | Forenklet alt i ét skema (DDL) og dataoverførsel. Anbefales til dimensionstabeller. |
| 2 | Data Factory med partition | Skemakonvertering (DDL) Udtræk data Dataindtagelse |
ADF/pipeline | Brug af partitionsindstillinger til at øge læse-/skrive parallelitet, hvilket giver ti gange dataoverførselshastigheden vs. 1, hvilket anbefales til faktatabeller. |
| 3 | Data Factory med accelereret kode | Skemakonvertering (DDL) | ADF/pipeline | Konvertér og overfør først skemaet (DDL), og brug derefter CETAS til at udtrække og KOPIERE/datafabrikken til at indtage data for at opnå optimal samlet ydeevne for indtagelse. |
| 4 | Fremskyndet kode for lagrede procedurer | Skemakonvertering (DDL) Udtræk data Kodevurdering |
T-SQL | SQL-bruger, der bruger IDE med mere detaljeret kontrol over, hvilke opgaver de vil arbejde med. Brug COPY/Data Factory til at hente data. |
| 5 | SQL Database Project-udvidelse til Visual Studio Code | Skemakonvertering (DDL) Udtræk data Kodevurdering |
SQL-projekt | SQL Database Project til installation med integration af mulighed 4. Brug COPY eller Data Factory til at hente data. |
| 6 | OPRET EKSTERN TABEL SOM VÆLG (CETAS) | Udtræk data | T-SQL | Omkostningseffektiv og højtydende dataudtrækning i Azure Data Lake Storage (ADLS) Gen2. Brug COPY/Data Factory til at hente data. |
| 7 | Overfør ved hjælp af dbt | Skemakonvertering (DDL) konvertering af databasekode (DML) |
dbt | Eksisterende dbt-brugere kan bruge dbt Fabric-adapteren til at konvertere deres DDL og DML. Du skal derefter overføre data ved hjælp af andre indstillinger i denne tabel. |
Vælg en arbejdsbelastning til den indledende migrering
Når du beslutter, hvor du skal starte med Synapse dedikerede SQL-pool til Fabric data warehouse migreringsprojekt, vælg et arbejdsområde, hvor du kan:
- Bevis muligheden for at migrere til Fabric data warehouse ved hurtigt at levere fordelene ved det nye miljø. Start småt og enkelt, og forbered dig på flere små migrationer.
- Giv dine tekniske medarbejdere i huset tid til at få relevant erfaring med de processer og værktøjer, de bruger, når de migrerer til andre områder.
- Opret en skabelon til yderligere migreringer, der er specifikke for kildens Synapse-miljø, og de værktøjer og processer, der er på plads for at hjælpe.
Tip
Lav et inventar over objekter, der skal migreres, og dokumenter migreringsprocessen fra start til slut, så du kan gentage den for andre dedikerede SQL-pools eller arbejdsbelastninger.
Mængden af migrerede data i en indledende migration bør være stor nok til at demonstrere kapaciteterne og fordelene ved det Fabric data warehouse miljø, men ikke for stor til hurtigt at kunne påvise værdi. En størrelse i intervallet 1-10 terabyte er typisk.
Migrering med Fabric Data Factory
Dette afsnit beskriver Data Factory-muligheder for brugere, der er fortrolige med Azure Data Factory og Synapse-pipelines. Træk-og-slip-grænsefladen giver en enkel måde at konvertere DDL og migrere data på.
Fabric Data Factory kan udføre følgende opgaver:
- Konverter skemaet (DDL) til Fabric data warehouse syntaks.
- Opret skemaet (DDL) på Fabric data warehouse.
- Migrer dataene til Fabric data warehouse.
Mulighed 1. Skema- og datamigration - Copy data assistant og ForEach Copy Activity
Denne metode bruger Data Factory Copy data assistant til at forbinde til kildens dedikerede SQL-pool, konvertere den dedikerede SQL-pool DDL-syntaks til Fabric og kopiere data til Fabric data warehouse. Du kan vælge en eller flere destinationstabeller (for TPC-DS datasæt er der 22 tabeller). Den genererer ForHver for at gennemgå listen over tabeller, der er valgt i brugergrænsefladen, og forgrene 22 parallelle Kopiér aktivitet-tråde.
- 22
SELECTforespørgsler (én for hver valgt tabel) genereres og udføres i den dedikerede SQL-pool. - Sørg for, at du har den rette DWU og ressourceklasse til at lade de genererede forespørgsler udføres. I dette tilfælde skal du bruge et minimum af DWU1000 med
staticrc10for at tillade maksimalt 32 forespørgsler at håndtere 22 sendte forespørgsler. - At kopiere data direkte fra den dedikerede SQL-pool til Fabric data warehouse med Data Factory kræver staging. Indtagelsesprocessen har to faser:
- Den første fase udtrækker data fra den dedikerede SQL-pulje til ADLS. Denne fase kaldes staging.
- Den anden fase indsamler de trindelte data i Fabric data warehouse. Det meste af indtagelsestiden bruges i iscenesættelsesfasen, så iscenesættelse har en betydelig effekt på præstationen.
Anbefalet brug
Brug af Copy assistant til at generere en ForEach-aktivitet giver en simpel grænseflade til at konvertere DDL og indlæse udvalgte tabeller fra den dedikerede SQL-pulje til Fabric data warehouse i ét trin.
Denne mulighed giver dog ikke optimal samlet gennemstrømning. Staging og behovet for at parallelisere læsninger og skrivninger under source-to-stage-fasen er de vigtigste kilder til latenstid. Brug denne mulighed kun til dimensionstabeller.
Mulighed 2. DDL/dataoverførsel – Pipeline ved hjælp af partitionsindstilling
For at forbedre gennemstrømningen, når du indlæser større faktatabeller med en Fabric-pipeline, brug en Copy activity for hver fact-tabel og aktiver partitionering. Denne konfiguration giver den bedste ydeevne for Copy activity.
Brug kildetabellens fysiske partitioner, når de er tilgængelige. Hvis tabellen ikke er fysisk opdelt, angiv en partitionskolonne samt minimums- og maksimumsværdier for dynamisk partitionering. I det følgende skærmbillede specificerer pipeline Source-mulighederne et dynamisk partitionsområde baseret på kolonnen ws_sold_date_sk .
Partitionering kan øge staging-gennemstrømningen. Overvej følgende vejledning, når du konfigurerer det:
- Afhængigt af partitionsområdet kan operationen generere mere end 128 forespørgsler og bruge alle samtidighedspladser i den dedikerede SQL-pool.
- Du skal skalere til mindst DWU6000 for at tillade alle forespørgsler at udføre.
- For TPC-DS-tabellen
web_salesblev der f.eks. sendt 163 forespørgsler til den dedikerede SQL-gruppe. I DWU6000 blev 128 forespørgsler udført, mens 35 forespørgsler stod i kø. - Dynamisk partition vælger automatisk områdepartitionen. I dette tilfælde et 11-dages interval for hver SELECT-forespørgsel, der er sendt til den dedikerede SQL-gruppe. Eksempel:
WHERE [ws_sold_date_sk] > '2451069' AND [ws_sold_date_sk] <= '2451080') ... WHERE [ws_sold_date_sk] > '2451333' AND [ws_sold_date_sk] <= '2451344')
Anbefalet brug
For faktatabeller kan du bruge Data Factory med partitioneringsmuligheden for at øge gennemstrømningen.
Dog kræver parallelle læsninger, at du skalerer den dedikerede SQL-pool til en højere DWU, så den kan udføre ekstraktionsforespørgsler. Partitionering forbedrer hastigheden ti gange sammenlignet med ikke at bruge partitionering. Du kan øge DWU'en for mere gennemstrømning, men en dedikeret SQL-pool tillader maksimalt 128 aktive forespørgsler.
For mere information om Synapse DWU til Fabric mapping, se Blog: Mapping Azure Synapse dedikerede SQL-pools til Fabric data warehouse compute.
Mulighed 3. DDL-migration - Kopidataassistent ForEach Copy-aktivitet
De to foregående muligheder er velegnede til mindre databaser. Hvis du har brug for højere gennemstrømning, så brug dette alternativ:
- Udtræk dataene fra den dedikerede SQL-pool til ADLS for at reducere staging-overhead.
- Brug enten Data Factory eller COPY-kommandoen til at indlæse dataene i dit lager.
Anbefalet brug
Du kan fortsætte med at bruge Data Factory til at konvertere dit skema (DDL). Ved at bruge Copy data assistant kan du vælge den specifikke tabel eller Alle tabeller. Metoden migrerer skemaet designet i ét trin, hvor skemaet udvindes uden rækker ved at bruge falsk-betingelsen TOP 0 i forespørgselssætningen.
Følgende kodeeksempel dækker skemaoverførsel (DDL) med Data Factory.
Kodeeksempel: Skemaoverførsel (DDL) med Data Factory
Du kan bruge Fabric Pipelines til nemt at migrere din DDL (skemaer) for tabelobjekter fra enhver kilde i Azure SQL Database eller dedikeret SQL-pool. Denne pipeline migrerer skemaet (DDL) for de kildededikerede SQL-pooltabeller til Fabric data warehouse.
Pipelinedesign: parametre
Denne pipeline accepterer en parameter SchemaName, som du bruger til at angive, hvilke skemaer der skal migreres. Standardskemaet er dbo.
I feltet Standardværdi skal du angive en kommasepareret liste over tabelskemaer, der angiver, hvilke skemaer der skal migreres: 'dbo','tpch' for at angive to skemaer dbo og tpch.
Pipelinedesign: Opslagsaktivitet
Opret en opslagsaktivitet, og angiv Forbindelsen til at pege på kildedatabasen.
Under fanen Indstillinger:
Angiv Datalagertype til Ekstern.
Forbindelse er din Azure Synapse-dedikerede SQL-gruppe. Forbindelsestypen er Azure Synapse Analytics.
Brugsforespørgslen er angivet til Forespørgsel.
Byg forespørgselsfeltet ved at bruge et dynamisk udtryk, så du kan bruge parameteren
SchemaNamei en forespørgsel, der returnerer en liste over målkildetabeller. Vælg Forespørgsel og vælg derefter Tilføj dynamisk indhold.Dette udtryk i LookUp Activity genererer en SQL-sætning for at forespørge systemvisninger for at hente en liste over skemaer og tabeller. Den refererer til parameteren
SchemaNamefor at muliggøre filtrering på SQL-skemaer. Outputtet af dette udtryk er et array af SQL-skemaer og tabeller, som ForEach Activity bruger som input.Brug følgende kode til at returnere en liste over alle brugertabeller med skemanavnet.
@concat(' SELECT s.name AS SchemaName, t.name AS TableName FROM sys.tables AS t INNER JOIN sys.schemas AS s ON t.type = ''U'' AND s.schema_id = t.schema_id AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),') ')
Rørledningsdesign: ForHver løkke
Konfigurer følgende indstillinger under fanen Indstillinger for ForHver løkke:
- Deaktiver Sequential for at tillade flere iterationer at køre samtidig.
- Angiv Batchantal til
50, der begrænser det maksimale antal samtidige gentagelser. - Brug dynamisk indhold i Items-feltet til at referere til outputtet fra LookUp-aktiviteten. Brug følgende kodestykke:
@activity('Get List of Source Objects').output.value
Pipelinedesign: Kopiér aktivitet i ForHver-løkken
Tilføj en kopiaktivitet i ForHver aktivitet. Denne metode bruger Dynamic Expression Language inden for pipelines til at bygge en SELECT TOP 0 * FROM <TABLE> sætning, der kun migrerer skemaet uden data ind i et warehouse.
Under fanen Kilde:
- Angiv Datalagertype til Ekstern.
- Forbindelse er din Azure Synapse-dedikerede SQL-gruppe. Forbindelsestypen er Azure Synapse Analytics.
- Angiv Brug forespørgsel til forespørgsel.
- I feltet Forespørgsel indsættes den dynamiske indholdsforespørgsel og brug dette udtryk, som returnerer nul rækker, men inkluderer tabelskemaet:
@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)
Under fanen Destination:
- Angiv Datalagertype til Arbejdsområde.
- Sæt Workspace data store-typen til data warehouse og sæt data warehouse til warehouse.
- Destinationstabellens skema og tabelnavn defineres ved hjælp af dynamisk indhold.
- Skema refererer til den aktuelle iterations felt
SchemaNamemed uddraget:@item().SchemaName - Tabelreferencer
TableNamemed uddraget:@item().TableName
- Skema refererer til den aktuelle iterations felt
Rørledningsdesign: Vask
For Sink skal du pege på lageret og referere til kildeskemaet og tabelnavnet.
Når du kører denne pipeline, ser du dit lager fyldt med hver tabel i din kildekode, med det korrekte skema.
Migration ved brug af lagrede procedurer i Synapse dedikerede SQL-pool
Denne mulighed bruger lagrede procedurer til at udføre migreringen til Fabric data warehouse.
Du kan få kodeeksempler på microsoft/fabric-migration på GitHub.com. Denne kode deles som åben kildekode, så du er velkommen til at bidrage til at samarbejde og hjælpe community'et.
Hvad Fabric Migrations lagrede procedurer kan gøre:
- Konverter skemaet (DDL) til Fabric data warehouse syntaks.
- Opret skemaet (DDL) på Fabric data warehouse.
- Udtræk data fra Synapse-dedikeret SQL-pulje til ADLS.
- Marker ikke-understøttet Fabric-syntaks for T-SQL-koder (lagrede procedurer, funktioner, visninger).
Anbefalet brug
Denne mulighed er fantastisk for dig, hvis du:
- Kender T-SQL.
- Vil gerne bruge et integreret udviklingsmiljø til T-SQL-udvikling.
- Ønsker mere detaljeret kontrol over, hvilke opgaver du arbejder på.
Du kan udføre den specifikke lagrede procedure for skemakonverteringen (DDL), dataudtrækning eller T-SQL-kodevurdering.
Til datamigreringen skal du bruge enten COPY INTO eller Fabric Data Factory til at indlæse dataene i dit lager.
Overfør ved hjælp af SQL-databaseprojekter
Fabric data warehouse understøtter SQL Database Projects-udvidelsen, som er tilgængelig i Visual Studio Code.
Denne udvidelse er tilgængelig inde i Visual Studio Code. Denne funktion aktiverer funktioner til kildekontrol, databasetest og skemavalidering.
For mere information om versionskontrol, se Oversigt over udvikling og implementering.
Anbefalet brug
Brug denne mulighed, hvis du foretrækker at bruge SQL Database Project til din udrulning. Denne mulighed integrerer Fabric Migrations lagrede procedurer i SQL-databaseprojektet for at give en problemfri migrationsoplevelse.
Et SQL-databaseprojekt kan:
- Konverter skemaet (DDL) til Fabric data warehouse syntaks.
- Opret skemaet (DDL) på Fabric data warehouse.
- Udtræk data fra Synapse-dedikeret SQL-pulje til ADLS.
- Markér ikke-understøttet syntaks for T-SQL-koder (lagrede procedurer, funktioner, visninger).
Til datamigreringen kan du bruge enten COPY INTO eller Data Factory til at indtaste dataene i dit lager.
Microsoft Fabric CAT-teamet leverer PowerShell-scripts til at udtrække, oprette og deployere skema (DDL) og databasekode (DML) gennem et SQL-databaseprojekt. For en gennemgang, se microsoft/fabric-migration på GitHub.
For mere information om SQL Database Projects, se Kom i gang med SQL Database Projects-udvidelsen og Byg et databaseprojekt fra kommandolinjen.
Overførsel af data med CETAS
T-SQL CREATE EXTERNAL TABLE AS SELECT (CETAS) kommandoen giver den mest omkostningseffektive og optimale metode til at udtrække data fra Azure Synapse dedikerede SQL-pools til Azure Data Lake Storage (ADLS) Gen2.
Hvad CETAS kan gøre:
- Udtræk data til ADLS.
- Denne mulighed kræver, at du opretter skemaet (DDL) i dit lager, før du indtaster dataene. Overvej indstillingerne i denne artikel for at overføre skema (DDL).
Fordelene ved denne indstilling er:
- Migreringen indsender kun én forespørgsel pr. tabel mod kilden Synapse dedikerede SQL-pulje. Denne forespørgsel bruger ikke alle samtidighedspladser, og den blokerer ikke samtidig kundeproduktions-ETL eller forespørgsler.
- Du behøver ikke skalere til DWU6000, da der kun bruges én samtidighedsplads til hver tabel, så du kan bruge lavere DWU'er.
- Udtrækningen kører parallelt på tværs af alle beregningsnoder, og denne funktion forbedrer ydeevnen.
Anbefalet brug
Brug CETAS til at udtrække dataene til ADLS som parquetfiler. Parquet-filer giver fordelen af effektiv datalagring med kolonnekomprimering, der kræver mindre båndbredde at flytte på tværs af netværket. Da Fabric gemmer dataene som Delta parquet-format, er dataindlæsningen 2,5 gange hurtigere sammenlignet med tekstfilformat, da der ikke er nogen konvertering til Delta-formatets overhead under indlæsning.
Sådan øger du CETAS-gennemløb:
- Tilføj parallelle CETAS-handlinger, hvilket øger brugen af samtidighedsstik, men tillader mere gennemløb.
- Skaler DWU'en på Synapse-dedikeret SQL-pool.
Migrering via dbt
Dette afsnit beskriver dbt-muligheden for kunder, der allerede bruger dbt i deres dedikerede SQL pool-miljø i Synapse.
Hvad dbt kan gøre:
- Konverter skemaet (DDL) til Fabric data warehouse syntaks.
- Opret skemaet (DDL) på Fabric data warehouse.
- Konvertér databasekode (DML) til Fabric-syntaks.
Dbt Framework genererer DDL og DML (SQL-scripts) løbende med hver udførelse. Ved at bruge modelfiler udtrykt i SELECT sætninger oversætter dbt DDL/DML øjeblikkeligt til enhver målplatform ved at ændre profil (forbindelsesstreng) og adaptertype.
Anbefalet brug
DBT-rammen bruger en kode-først tilgang. Migrer dataene ved at bruge mulighederne nævnt i dette dokument, såsom CETAS eller COPY/Data Factory.
Ved at bruge dbt-adapteren til Microsoft Fabric data warehouse kan du migrere eksisterende dbt-projekter, der målretter forskellige platforme som Azure Synapse dedikerede SQL-pools, Snowflake, Databricks, Google BigQuery eller Amazon Redshift, til et lager med en simpel konfigurationsændring.
For at komme i gang med et dbt-projekt, der sigter mod Fabric data warehouse, se Tutorial: Sæt dbt op for Fabric data warehouse. Dette dokument nævner også en mulighed for at bevæge sig mellem forskellige lagre og platforme.
Dataindlæsning i Fabric data warehouse
Til indlæsning i Fabric data warehouse, brug COPY INTO eller Fabric Data Factory, alt efter hvad du foretrækker. Begge metoder er de anbefalede og bedst ydende, da de har tilsvarende ydeevnegennemstrømning, givet forudsætningen at filerne allerede er udpakket til Azure Data Lake Storage (ADLS) Gen2.
Design din proces for maksimal ydeevne ved at overveje følgende faktorer:
- Med Fabric er der ingen ressourcekonkurrence, når man indlæser flere tabeller fra ADLS til Fabric data warehouse samtidig. Derfor er der ingen forringelse af ydeevnen, når parallelle tråde indlæses. Den maksimale indtagelsesgennemstrømning er kun begrænset af beregningskraften i din Fabric-kapacitet.
- Fabric-arbejdsbelastningsstyring giver adskillelse af ressourcer, der er allokeret til belastning og forespørgsel. Der er ingen ressourcekonkurrence, mens forespørgsler og dataindlæsning kører samtidig.