Del via


Replikere data til Azure SQL Database ved hjælp af dataeksporttjenesten

Bemærk

Dataeksportservice fra november 2021 blev udfaset. Dataeksportservice vil fortsat fungere og vil være fuldt understøttet, indtil den når slutdatoen for support og slutdatoen i november 2022. Flere oplysninger: https://aka.ms/DESDeprecationBlog

Dataeksport-tjenesten er et tilføjelsesprogram, som stilles til rådighed i Microsoft AppSource, der giver mulighed for at replikere data fra Microsoft Dataverse-database til Azure SQL-database i en kundeejet Azure-abonnement. De understøttede måldestinationer er Azure SQL Database og SQL Server på Azure Virtual Machines. Data Export Service synkroniserer intelligent hele -skemaet og -dataene først og synkroniserer derefter løbende, når der forekommer ændringer (deltaændringer), i systemet. Dette hjælper med at aktivere flere analyse- og rapporteringsscenarier oven på data med Azure-data- og analysetjenester for og åbner nye muligheder for kunder og partnere for at opbygge tilpassede løsninger.

Bemærk

Du opfordres på det kraftigste til at eksportere dine Dataverse-data til Azure Synapse Analytics og/eller Azure Data Lake Gen2 med Azure Synapse Link for Dataverse. Flere oplysninger: Hurtigere indsigt med Azure Synapse Link for Dataverse

Du kan bruge Dataeksportservice med kundeengagement-apps (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing og Dynamics 365 Project Service Automation).

Du kan finde oplysninger om programmeringsgrænsefladen til styring af konfiguration og administration under Dataeksportservice i Dataeksportservice-udviklervejledningen.

Forudsætninger for at bruge Dataeksportservice

Hvis du vil begynde at bruge Dataeksportservice, gælder følgende forudsætninger.

Tjenesten Azure SQL Database

  • Et kundeejet Azure SQL-databaseabonnement. Dette abonnement skal tillade den datamængde, der synkroniseres.

  • Firewall-indstillinger. Vi anbefaler, at du slår Tillad adgang til Azure Services fra og angiver de relevante klient-IP-adresser, der er angivet i dette emne. Flere oplysninger: Statiske IP-adresser for Azure SQL-database bruges af Dataeksportservice

    Alternativt kan du slå Tillad adgang til Azure Services til for at give adgang til alle Azure Services.

    For SQL Server på Azure VM skal indstillingen "Oprette forbindelse til SQL Server via internettet" være aktiveret. Flere oplysninger: Azure: Oprette forbindelse til en virtuel SQL Server-maskine på Azure

    Derudover skal du konfigurere firewall-regler til at tillade kommunikation mellem Dataeksportservice og SQL Server.

  • Databasebruger skal have tilladelser til database- og skemaniveauet i overensstemmelse med de følgende tabeller. Databasebrugeren anvendes i forbindelsesstrengen for dataeksport.

    Der kræves tilladelser for databasen.

    Kode for tilladelsestype Tilladelsesnavn
    CRTB CREATE TABLE (OPRET TABEL)
    CRTY CREATE TYPE (OPRET TYPE)
    CRVW CREATE VIEW (OPRET VISNING)
    CRPR CREATE PROCEDURE (OPRET PROCEDURE)
    ALUS ALTER ANY USER (SKIFT ALLE BRUGERE)
    VWDS VIEW DATABASE STATE (SE DATABASETILSTAND)

    Der kræves tilladelser for skemaer.

    Kode for tilladelsestype Tilladelsesnavn
    AL ALTER (SKIFT)
    IN INSERT (INDSÆT)
    DL DELETE (SLET)
    SL SELECT (VÆLG)
    UP UPDATE (OPDATER)
    EX EXECUTE (UDFØR)
    RF REFERENCES (REFERENCER)

Tjenesten Azure Key Vault

  • Kundeejet Key Vault-abonnement, der bruges til at vedligeholde forbindelsesstrengen til databasen på sikker vis.

  • Giv PermissionsToSecrets-tilladelse til programmet med id'et "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf." Dette kan udføres ved at køre AzurePowerShell-kommandoen nedenfor og bruges til åbne den Key Vault, der indeholder hemmeligheden for forbindelsesstrengen. Flere oplysninger: Sådan konfigureres Azure Key Vault

  • Hemmeligheder i Key Vault skal mærkes med organisations-id (OrgId) og lejer-id'er (TenantId). Dette kan udføres ved at køre AzurePowerShell-kommandoen nedenfor. Flere oplysninger: Sådan konfigureres Azure Key Vault

  • Konfigurer dine firewall-regler til at tillade kommunikation mellem Dataeksportservice og Azure Key Vault.

Kundeengagement-apps

  • Et miljø med version 9.0 eller nyere.

  • Løsningen Dataeksportservice skal være installeret.

    • Gå til Indstillinger>Microsoft Appsource> søg efter eller gå til Microsoft Dynamics 365 - Dataeksportservice, og vælg Få det nu.
    • Du kan også finde den Microsoft AppSource.
  • De objekter, der skal føjes til eksportprofilen, skal aktiveres med ændringssporing. For at sikre, at et standardobjekt eller et brugerdefineret objekt kan synkroniseres, skal du gå til Tilpasning>Tilpas systemet og derefter vælge objektet. På fanen Generelt skal du kontrollere, at indstillingen Ændringssporing i sektionen Datatjenester er aktiveret.

  • Du skal have sikkerhedsrollen Systemadministrator i miljøet.

Webbrowser

Aktivér pop op-vinduer for domænet https://discovery.crmreplication.azure.net/ i din webbrowser. Dette er påkrævet for logge automatisk på, når du går til Indstillinger > Dataeksport.

Påkrævede tjenester, legitimationsoplysninger og rettigheder

For at kunne bruge Dataeksportservice-funktionen skal du have følgende tjenester, legitimationsoplysninger og rettigheder.

  • Et abonnement. Kun brugere, der er tildelt sikkerhedsrollen Systemadministrator, kan oprette eller ændre en eksportprofil.

  • Azure-abonnement, der omfatter følgende tjenester.

    • Azure SQL Database eller AzureSQL Server på virtuelle Azure-maskiner.

    • Azure Key Vault.

Vigtigt

For at kunne bruge Dataeksportservice skal kundeengagementsapps og Azure Key Vault-tjenester køre under samme lejer og i samme Microsoft Entra ID. Flere oplysninger: Integrere Azure med Microsoft 365

Azure SQL Database-tjenesten og -apps-tjenesten kan have samme eller forskellige lejere.

Hvad du skal vide, før du bruger Dataeksportservice

  • Eksportprofiler skal slettes og derefter oprettes igen, hver gang du udfører en af følgende handlinger på et miljø.

    • Gendanner et miljø.
    • Kopierer (fuldt eller minimalt) et miljø.
    • Nulstiller et miljø.
    • Flytter et miljø at et andet land eller område.

    Du kan gøre dette ved at slette eksportprofilen i visningen EKSPORTPROFILER og derefter slette tabellerne og stored procedures og oprette en ny profil. Flere oplysninger: Sådan slettes tabeller og lagrede procedurer for alle dataeksportprofiler

  • Dataeksportservice fungerer ikke for sandkasseforekomster eller produktionsmiljøer, der er konfigureret med Aktivér administrationstilstand aktiveret. Du kan finde flere oplysninger under Administrationstilstand.

  • Dataeksportservice sletter ikke de tilknyttede tabeller, kolonner eller stored procedure-objekter i destinationens Azure SQL Database, når følgende handlinger udføres.

Eksportprofil

For at eksportere data fra kundeengagementsapps opretter administratoren en eksportprofil. Der kan oprettes og aktiveres flere profiler for at synkronisere data til en anden destinationsdatabase på samme tid.

Eksportprofilen er det centrale begreb i Dataeksportservice. Eksportprofilen indsamler opsætnings- og konfigurationsoplysninger for at synkronisere data med destinationsdatabasen. Som en del af eksportprofilen leverer administratoren en liste over objekter, der skal eksporteres til destinationsdatabasen. Når eksportprofilen er aktiveret, startes den automatiske synkronisering af data. I første omgang eksporteres alle data, der svarer til de enkelte valgte objekter. Derefter synkroniseres kun ændringer af data. Det foregår løbende ved hjælp af en overførselsmekanisme, næsten i realtid og i takt med, at ændringerne forekommer i objektposter eller metadata i kundeengagementsapps. Derfor behøver du ikke at oprette en tidsplan for hentning af data fra kundeengagementsapps.

Kun objekter, hvor registrering af ændringer er aktiveret, kan føjes til eksportprofilen. Bemærk, at for de fleste standardobjekter, som registrerer data, er sporing af ændringer aktiveret. For brugerdefinerede objekter skal ændringsregistrering aktiveres direkte, før du kan føje dem til en eksportprofil. Flere oplysninger: Aktivere Skift sporing for at styre datasynkronisering

Dataeksportservice foretager synkronisering af både metadata og data. Hvert objekt oversættes til én tabel, og hvert felt oversættes til en kolonne i destinationsdatabasetabellen. Tabel- og kolonnenavne benytter skemanavnet for metadataene.

Når eksportprofilen er aktiveret, indsamler den statistik for datasynkroniseringen, som giver et bedre driftsmæssigt overblik og hjælper diagnosticeringen eksporterede data.

Datasynkronisering med en eksportprofil

Kategori Funktion Understøttede datatyper
Første synkronisering Metadata – Grundlæggende datatyper Datatyperne Heltal, Flydende tal, Decimaltal, Enkelt tekstlinje, Flere linjers tekst, Dato og Klokkeslæt.
Første synkronisering Metadata – Avancerede datatyper Valuta, PartyList, Grupperet indstilling, Status, Statusårsag, Opslag (herunder typerne Kunde og Angående). PartyList er kun tilgængelig for eksportversion 8.1 og derover.
Første synkronisering Data – Grundlæggende typer Alle grundlæggende datatyper.
Første synkronisering Data – Avancerede typer Alle avancerede datatyper.
Delta-synkronisering Ændre skema – Grundlæggende typer Tilføj eller rediger feltændring, alle grundlæggende datatyper.
Delta-synkronisering Ændre skema – Avancerede typer Tilføj eller rediger feltændring, alle avancerede datatyper.
Delta-synkronisering Ændre data – Grundlæggende typer Alle grundlæggende datatyper.
Delta-synkronisering Ændre data – Avancerede typer Alle avancerede datatyper, f.eks. PartyList.

Oprette en eksportprofil

Kontrollér, at følgende krav er opfyldt, før du opretter en eksportprofil.

  • Løsningen Dataeksportservice installeres i dit miljø.

  • Bevar SQL-databaseforbindelsesstrengen i Key Vault, og kopiér URL-adressen til Key Vault for at levere den til eksportprofilen. Flere oplysninger: Azure: Introduktion til Azure Key Vault

  • Ændringssporing af aktiveret for de objekter, der skal føjes til eksportprofilen. Flere oplysninger: Aktivere Skift sporing for at styre datasynkronisering

  • Din SQL-databasetjeneste har tilstrækkelig plads til at lagre dataene.

  • Du er systemadministrator i miljøet.

  1. Gå til Indstillinger>Dataeksport.

  2. Gennemse meddelelsen, og vælg Fortsæt eller Annuller, hvis du ikke ønsker at eksportere data.

  3. Vælg Ny(t) for at oprette en ny eksportprofil.

  4. I trinnet Egenskaber skal du angive følgende oplysninger og derefter vælge Næste for at fortsætte uden at oprette forbindelse til Key Vault. Når du vælger Valider, bruges den angivne URL-adresse for Key Vault til at oprette forbindelse til Key Vault.

    • Navn. Entydigt navn på profilen. Dette felt er obligatorisk.

    • URL-adresse for Key Vault-forbindelse. URL-adressen for Key Vault peger på den forbindelsesstreng, der er gemt med de legitimationsoplysninger, der blev brugt til at oprette forbindelse til destinationsdatabasen. Dette felt er obligatorisk. Flere oplysninger: Sådan konfigureres Azure Key Vault

      Vigtigt

      Der skelnes mellem store og små bogstaver i URL-adressen for Key Vault-forbindelsen. Angiv URL-adressen for Key Vault-forbindelsen nøjagtigt, som den vises, når du har kørt Windows PowerShell-kommandoerne i dette emne.

    • Skema. Navnet på et alternativt databaseskema. Kun alfanumeriske tegn er gyldige. Dette felt er valgfrit. Dbo er som standard det skema, der bruges som destination for SQL-databasen.

    • Præfiks. Det præfiks, der skal bruges til de tabelnavne, der er oprettet i destinationsdatabasen. Derved kan du nemmere identificere de tabeller, der er oprettet for eksportprofilen i destinationsdatabasen. Når det er angivet, skal du kontrollere, at præfikset indeholder mindre end 15 tegn. Dette felt er valgfrit, og kun alfanumeriske tegn er tilladte.

    • Antal nye forsøg. Det antal gange, som en post blev forsøgt, i tilfælde af fejl i indsættelsen eller opdateringen i destinationstabellen. Dette felt er obligatorisk. Gyldige værdier er 0-20, og standardværdien er 12.

    • Interval mellem nye forsøg. Det antal sekunder, der skal gå, før et nyt forsøg i tilfælde af en fejl. Dette felt er obligatorisk. Gyldige værdier er 0-3600, og standardværdien er 5.

    • Skriv slettelog. Valgfri indstilling til logføring af slettede poster.

    Fanen Egenskaber i dialogboksen Opret eksportprofil.

  5. I trinnet Vælg objekter skal du vælge de objekter, du vil eksportere til SQL-destinationsdatabasen, og derefter vælge Næste.

    Vælg fanen Egenskaber i dialogboksen Opret eksportprofil.

  6. I trinnet Vælg relationer kan du synkronisere M:N (mange til mange) som relationer, der findes for de objekter, du valgte i det forrige trin. Vælg Næste.

    Opret eksportprofil - Administrer relationer - Vælg relationer.

  7. I trinnet Oversigt skal du vælge Opret og aktivér for at oprette profilposten og oprette forbindelse til Key Vault, som starter synkroniseringsprocessen. Ellers skal du vælge Opret for at gemme eksportprofilen og aktivere den senere.

    Fanen Oversigt i dialogboksen Opret eksportprofil.

Ændre en eksisterende eksportprofil

Du kan tilføje eller fjerne objekter og relationer i en eksisterende eksportprofil, som du vil replikere.

  1. Gå til Indstillinger>Dataeksport.

  2. Vælg den ønskede eksportprofil i visningen Alle dataeksportprofiler.

    Vælge en eksportprofil.

  3. Vælg Administrer objekter på værktøjslinjen Handlinger for at tilføje eller fjerne objekter til dataeksport. Hvis du vil tilføje eller fjerne objektrelationer, skal du vælge Administrer relationer.

    Administrere objekter eller objektrelationer.

  4. Vælg de objekter eller objektrelationer, du vil tilføje eller fjerne.

    Vælg de objekter eller objektrelationer, der skal tilføjes eller fjernes.

  5. Vælg Opdater for at sende ændringerne til eksportprofilen.

Vigtigt

Når du fjerner et objekt eller en objektrelation fra en eksportprofil, slippes den tilsvarende tabel ikke i destinationsdatabasen. Før du kan tilføje et objekt, der er blevet fjernet, igen, skal du slippe den tilsvarende tabel i destinationsdatabasen. Hvis du vil slippe en objekttabel, kan du gå til Sådan slettes tabeller og stored procedures for dataeksportprofiler for et bestemt objekt.

Tabeloplysninger om Azure SQL-destinationsdatabasen

Dataeksportservice opretter tabeller til både metadata og data. En tabel oprettes for hvert objekt og det M:N-forhold, der er synkroniseret.

Når en eksportprofil er aktiveret, oprettes disse tabeller i destinationsdatabasen. Disse er systemtabeller og indeholder ikke felterne SinkCreatedTime og SinkModifiedTime.

Tabelnavn Oprettet den
<Prefix>_GlobalOptionsetMetadata Efter aktivering af eksportprofil.
<Prefix>_OptionsetMetadata Efter aktivering af eksportprofil.
<Prefix>_StateMetadata Efter aktivering af eksportprofil.
<Prefix>_StatusMetadata Efter aktivering af eksportprofil.
<Prefix>_TargetMetadata Efter aktivering af eksportprofil.
<Prefix>_AttributeMetadata Efter aktivering af eksportprofil.
<Prefix>_DeleteLog Ved aktivering af eksportprofil, når indstillingen Slet log er aktiveret.

Løse synkroniseringsproblemer

Selv efter flere forsøg kan der opstå fejl i synkronisering af poster på grund af begrænsninger i databaselageret eller tabellåsning som følge af forespørgsler, der kører i lang tid. Du kan løse disse fejl ved at gennemtvinge en gensynkronisering af kun fejlbehæftede poster eller en gensynkronisering af alle poster.

  1. Åbn dine eksportprofiler for at søge efter dem, hvor der er fejl på synkronisering af poster. Dette gør du ved at vise dataprofilerne i synkroniseringsområdet eller ved at åbne en eksportprofil som f.eks. denne profil, hvor der er en synkroniseringsfejl i kontaktobjektposten.

    DataExport_failed_records_exist.

  2. Undersøg først kilden til synkroniseringsfejlen, og løs problemet. More information: Håndtering og overvågning af fejl

  3. Når problemet er løst, kan du synkronisere de fejlbehæftede poster.

    Bemærk

    Synkronisering af mislykkede poster er en funktion i prøveversionen.

    • Forhåndsversionsfunktioner er ikke beregnet til produktionsformål og kan have begrænset funktionalitet. Disse funktioner er tilgængelige før en officiel udgivelse, så kunderne kan få tidlig adgang og give feedback.
      • Vi forventer ændringer af denne funktion, så du bør ikke bruge den til produktionsformål. Den bør kun bruges i test- og udviklingsmiljøer.
      • Microsoft yder ikke support til denne eksempelvisningsfunktion. Microsoft Dynamics 365 Teknisk support kan ikke hjælpe dig med problemer eller spørgsmål. Eksempelvisningsfunktionerne er ikke beregnet til brug i produktionen, og de er underlagt særlige supplerende vilkår for anvendelse.
    1. Log på dit miljø, og gå til Indstillinger>Dataeksport.

    2. Åbn den eksportprofil, der indeholder fejl ved synkroniseringen af poster.

    3. Vælg SYNKRONISER MISLYKKEDE POSTER IGEN på værktøjslinjen for eksportprofilen.

    4. Vælg Ok, når de fejlbehæftede poster igen er synkroniseret, i bekræftelsesdialogboksen.

    Meddelelse om vellykket gensynkronisering.

    1. Kontrollér, at eksportprofilen ikke indeholder meddelelser om fejlbehæftede poster, ved at åbne dataeksportprofilen og tjekke tælleren Mislykkede meddelelser under fanen EGENSKABER OG OVERSIGT som skal være 0. Vælg OPDATER på værktøjslinjen for eksportprofilen for at sikre, at værdien i Mislykkede meddelelser er den aktuelle værdi.

    Indikation for ingen mislykkedes poster.

  4. Hvis fejlene i synkronisering af poster fortsætter, når du har forsøgt at synkronisere igen ved at følge de forrige trin, skal du kontakte Microsoft Kundesupport.

Håndtering og overvågning af fejl

Hvis du vil have vist synkroniseringsstatus for en eksportprofil, skal du gå til Indstillinger>Dataeksport og åbne eksportprofilen. På fanen OBJEKTER vises synkroniseringsstatussen, herunder kolonnen Mislykkedes poster for poster, der ikke kunne synkroniseres. For alle mislykkede poster kan der hentes en liste over disse poster, herunder statusårsager, ved at vælge MISLYKKEDES POSTER på kommandolinjen.

Kommandolinjen Eksportprofil - knappen Mislykkede poster.

I eksportprofilen kan du vælge EGENSKABER OG OVERSIGT for at vise egenskaberne for profilen. Vælg RELATIONER for at vise synkroniseringsstatus for relationer.

Sådan får du vist detaljerede oplysninger om de poster, der ikke kunne synkroniseres

Visning af mislykkede postlogfiler kan hjælpe dig med at finde årsagen til fejl i synkroniseringen. Du kan få vist mislykkede poster i Azure-destinationsdatabasen ved at bruge Azure Storage Explorer, en gratis enkeltstående app, så du let kan arbejde med Azure Storage-data. Flere oplysninger: Azure Storage Explorer.

  1. Gå til Indstillinger>Dataeksport.

  2. Vælg den eksportprofil, der har meddelelser om mislykkede poster, i visningen Alle dataeksportprofiler.

    Mislykkede meddelelser.

  3. Vælg Mislykkede poster på værktøjslinjen Handlinger.

    Værktøjslinjeknappen Mislykkede poster.

  4. I dialogboksen Download mislykkedes poster skal du vælge Kopiér Blob URL og derefter vælge Ok.

    Dialogboksen Download mislykkede poster.

    Bemærk

    Blob URL-adressen er gyldig i op til 24 timer. Hvis URL-adressen overstiger 24-timers perioden, skal du gentage trinene beskrevet tidligere for at oprette en ny blob URL-adresse.

  5. Start Azure Storage Explorer.

  6. Vælg Opret forbindelse til Azure Storage i Azure Storage Explorer.

  7. Indsæt URL-adressen fra Udklipsholder i feltet Opret forbindelse til Azure Storage, og vælg derefter Næste.

  8. Vælg Opret forbindelse på forbindelsesoversigtssiden.

  9. Azure Storage Explorer opretter forbindelse til destinationsdatabasen. Hvis der findes fejlbehæftede poster for eksportprofilen, viser Azure Storage Explorer mapper for synkronisering af mislykkede poster.

Sådan får du vist detaljerede oplysninger om de poster, der ikke kunne synkroniseres (prøveversion)

Du kan hente mislykkede poster direkte i brugergrænsefladen i Dataeksportservice. Denne funktion er i øjeblikket tilgængelig som prøveversion, og du opfordres til at teste den og sende feedback.

Trin til hentning af mislykkede poster:

  1. Identificer profilen med mislykkede poster.

    Dataeksportprofiler.

  2. Vælg profilen, og vælg Download mislykkede poster (prøveversion) i den øverste menulinje.

    Downloade mislykkede poster (prøveversion).

  3. I dialogboksen Download mislykkede poster vises der en sorteret liste over de sidste 20 (maks.) BLOB-filer. Markér den, du vil hente, og vælg derefter OK.

    Downloade mislykkede poster.

  4. Når filen er hentet, skal du åbne den i et tekstredigeringsprogram efter eget valg (f.eks., Notesblok) og se fejloplysningerne.

    Eksempel på fejllogfil.

Kunne ikke registrere mappestruktur for synkronisering af mislykkede poster og logfiler

URL-adressen til Azure Blob Storage for mislykkedes poster peger på en placering, der har følgende mappestruktur:

  • data. Denne mappe indeholder meddelelser om mislykkede data og den tilknyttede JSON for postdata.

  • metadata. Denne mappe indeholder meddelelser om mislykkede metadata og den tilknyttede JSON for metadata.

  • failurelog. Denne mappe indeholder logfiler med oplysninger om synkroniseringsfejlen og årsagen til fejlen.

  • forcerefreshfailurelog. Denne mappe indeholder fejl fra den seneste kørsel af Dataeksportservice-kommandoen Mislykkede poster, der bruges til at synkronisere mislykkede poster igen.

  • unprocessablemessages. Denne mappe indeholder meddelelser om data, der ikke blev behandlet som følge af sletning af data eller metadata og tilknyttede JSON.

    Mapperne failurelog og forcerefreshfailurelog har strukturen år\måned\dag\klokkeslæt, så du hurtigt kan finde de seneste fejl. Alle fejlposter, der er ældre end 30 dage, slettes.

    Her er en eksempellogfil, der indikerer en synkroniseringsfejl i en kontaktobjektpost.

Entity: contact, RecordId: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, NotificationTime: 12/28/2016 12:32:39 AM, ChangeType: Update, FailureReason: The database 'tempdb' has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions.  
The statement has been terminated.  

Almindelige årsager til fejl ved synkronisering af poster

Her er nogle årsager til, at der kan opstå fejl ved synkronisering af poster.

  • Tilstrækkelig storage til destinationsdatabasen. Før du forsøger at synkronisere de mislykkede poster, kan du forøge eller frigøre Azure SQL Database-storage efter behov. Når problemet opstår, registreres en meddelelse tilsvarende denne i fejlloggen.

    Databasen 'databasenavn' har nået sin størrelseskvote. Partitionér eller slet data, slet indekser, eller søg i dokumentationen efter mulige løsninger.

  • Timeout for synkronisering med Azure SQL Database. Dette kan ske under den indledende synkronisering af en dataeksportprofil, når store mængder data behandles på én gang. Når dette problem opstår, kan du synkronisere de fejlbehæftede poster igen. Løse synkroniseringsproblemer

Bedste fremgangsmåder, når du bruger SQL Azure Database med dataeksport

  • For at undgå synkroniseringsfejl, der skyldes ressourcebegrænsning, anbefaler vi, at du har en Azure SQL Database Premium P1-plan eller en bedre plan, når du bruger Dataeksportservice. Færre oplysninger: Azure SQL Database-ressourcegrænser og SQL Database prissætning

  • Indstil Azure SQL Database til at bruge RCSI (Read Committed Snapshot Isolation) for arbejdsbelastninger, der kører samtidigt på den destinationsdatabase, der udfører længerevarende læsningsforespørgsler som f.eks. rapportering og ETL job. Dette reducerer forekomsten af timeout-fejl, der kan opstå i forbindelse med Dataeksportservice på grund af læse\skrive-konflikter.

  • For at forbedre forespørgselsfunktionen anbefaler vi, at Dataeksportservice-databasens maksimale grad af parallelitet (MAXDOP) indstilles til 1. Du kan finde flere oplysninger i MSDN: Indstillinger for serverhukommelse

  • Vurder ofte omfanget af fragmentering, og opbyg om nødvendigt indeksene i Dataeksportservice-databasen igen. Du kan finde flere oplysninger i Omorganisering og genopbygning af indeks

  • Opdater jævnligt databasestatistik for tabeller og indekserede visninger i Dataeksportservice-databasen. Du kan finde flere oplysninger i Opdateringsstatistisk

  • Overvåg brugen af Dataeksportservice-databasen. Du kan finde flere oplysninger i Foretage overvågning

Om ventetid ved datasynkronisering

Dataeksportservice er udviklet til at synkronisere dataændringer i destinationsdatabasen ved hjælp af en overførselsmekanisme ved at overvåge ændringer, efterhånden som de foretages i kundeengagementsapps. Tjenesten forsøger at overføre data inden for få minutter, men der er en række faktorer, der kan påvirke ventetiden for synkronisering fra slutpunkt til slutpunkt.

Følgende faktorer har indflydelse på varigheden af synkroniseringen:

  • Den aktuelle arbejdsbelastning i kundeengagementsapps.
  • Hastigheden for ændring af dataene i kundeengagementsapps.
  • Antallet af objekter, der føjes til de enkelte eksportprofiler og deres attributter.
  • SQL Servers ydeevne. Eksempel:
    • Tid for oprettelse af SQL-forbindelse.
    • Udførelsestid for SQL-sætning.

Baseret på vores overvågning af tjenesten, er det konstateret, at igangværende deltasynkronisering oftest afsluttes på 15 minutter, når tjenesten arbejder under følgende betingelser:

  • Den synkronisering, der foretages, er en deltasynkronisering og ikke den indledende synkronisering. Deltasynkronisering udføres kun på handlinger til ændring af data, som omfatter postoprettelses-, -opdaterings- og -sletningstransaktioner. Bemærk, at deltasynkronisering begynder, når den indledende synkronisering er afsluttet.
  • Den maksimale hastighed for ændringen af data i kundeengagementsapps for alle objekter i eksportprofilen er mindre end 3000 poster pr. time. Ved pludselige forøgelser af hastigheden for ændringen af data på grund af massesletning af poster, der overstiger den maksimale ændringshastighed, resulterer i yderligere ventetid.
  • Hvert objekt, der føjes til en eksportprofil, indeholder færre end 150 attributter.
  • Databaseforbindelse eller udførelse af SQL-sætning færdiggøres på mindre end 10 sekunder. Hvis denne grænse overskrides, medfører det yderligere ventetid.
  • Der opstår ingen destinationsdatabaseforbindelse- eller SQL-eksekveringsfejl under synkronisering.

Når disse betingelser er opfyldt, er 15 minutter en typisk synkroniseringsventetid. Microsoft leverer ingen serviceaftale (SLA) for Dataeksportservice og stiller ingen garantier og påtager sig ingen forpligtelser med hensyn til synkroniseringsventetider.

Sådan konfigureres Azure nøgle Vault

Kør Windows PowerShell-scriptet, der er beskrevet her, som en Azure-kontoadministrator for at give tilladelse til funktionen Dataeksportservice, så den kan få adgang til din Azure Key Vault. Dette script viser den URL-adresse for Key Vault, som kræves for at oprette den eksportprofil, der bruges til at få adgang til forbindelsesstrengen.

Før du kører scriptet, skal du erstatte pladsholderne for følgende variabler.

  • $subscriptionId. Den Key Vault-ressourcegruppe, du vil bruge. Hvis der ikke allerede findes en ressourcegruppe, oprettes en ny med det navn, du angiver. I dette eksempel bruges ContosoResourceGroup1.

  • $location. Angiv den placering, hvor ressourcegruppen er eller skal være placeret, f.eks. Det vestlige USA.

  • $connectionStreng. Forbindelsesstrengen til Azure SQL-databasen. Du kan bruge ADO.NET-forbindelsesstrengen, sådan som den vises på dit Azure-dashboard.

  • $organizationIdList = kommasepareret liste over tilladte organisationer, der er sorteret efter organisations-id (organizationId), for at aktivere til Dataeksportservice. Hvis du vil finde en organisations id, skal du gå til Indstillinger>Tilpasninger>Udviklerressourcer. Organisations-id'et er under Referenceoplysninger om miljø.

  • $tenantId. Angiver det Azure Active Directory-lejer-id, som Key Vault-abonnementet gælder for.

Vigtigt

Et Azure-abonnement kan have flere Azure Active Directory-lejer id'er. Sørg for, at du vælger det rette Azure Active Directory-lejer-id, der er knyttet til det miljø, du vil bruge til eksport af data.

Bemærk

Sørg for, at bruger-id, der refereres til, i ConnectionStreng har den rette tilladelse til at målrette mod Azure SQL-databasen.

# -------------------------------------------------------------------------------- #
    #  Provide the value for the following parameters before executing the script
$subscriptionId = 'ContosoSubscriptionId'    
$keyvaultName = 'ContosoKeyVault'
    $secretName = 'ContosoDataExportSecret'
    $resourceGroupName = 'ContosoResourceGroup1'
    $location = 'West US'
    $connectionString = 'AzureSQLconnectionString'
$organizationIdList = 'ContosoSalesOrg1_id, ContosoSalesOrg2_id'
$tenantId = 'tenantId'
    # -------------------------------------------------------------------------------- #

# Login to Azure account, select subscription and tenant Id
Connect-AzAccount -Tenant $tenantId -Subscription $subscriptionId

# Create new resource group if not exists.
$rgAvail = Get-AzResourceGroup -Name $resourceGroupName -Location $location -ErrorAction SilentlyContinue
if(!$rgAvail){
    New-AzResourceGroup -Name $resourceGroupName -Location $location
}

# Create new key vault if not exists.
$kvAvail = Get-AzKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if(!$kvAvail){
    New-AzKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -Location $location
    # Wait few seconds for DNS entry to propagate
    Start-Sleep -Seconds 15
}

# Create tags to store allowed set of Organizations.
$secretTags = @{}
foreach ($orgId in $organizationIdList.Split(',')) {
    $secretTags.Add($orgId.Trim(), $tenantId)
}

# Add or update a secret to key vault.
$secretValue = ConvertTo-SecureString $connectionString -AsPlainText -Force
$secret = Set-AzKeyVaultSecret -VaultName $keyvaultName -Name $secretName -SecretValue $secretValue -Tags $secretTags

# Authorize application to access key vault.
$servicePrincipal = 'b861dbcc-a7ef-4219-a005-0e4de4ea7dcf'
Set-AzKeyVaultAccessPolicy -VaultName $keyvaultName -ServicePrincipalName $servicePrincipal -PermissionsToSecrets get

# Display secret url.
Write-Host "Connection key vault URL is "$secret.id.TrimEnd($secret.Version)""

Sådan slettes alle tabeller og lagrede procedurer for dataeksportprofiler

Vigtigt

Før du kører denne SQL-sætning, skal du kontrollere, at du har oprettet værdierne @prefix og @schema i sætningen korrekt. Eksportprofilen skal oprettes igen, når du har kørt denne SQL-sætning.

-----------------------------------------------------------------
-- Provide the value for the following parameters
DECLARE @prefix nvarchar(32) =''
DECLARE @schema nvarchar(32) ='dbo'
-----------------------------------------------------------------

DECLARE @sql nvarchar(max) = '';

SELECT @sql += 'DROP TABLE ' + QUOTENAME([TABLE_SCHEMA]) + '.' + QUOTENAME([TABLE_NAME]) + ';'
FROM [INFORMATION_SCHEMA].[TABLES]
WHERE [TABLE_TYPE] = 'BASE TABLE' AND [TABLE_NAME] like @prefix + '_%' AND [TABLE_SCHEMA]= @schema;

PRINT @sql
EXEC SP_EXECUTESQL @sql;

PRINT 'Finished dropping all tables. Starting to drop all stored procedures now.'

SELECT @sql='';
SELECT @sql += 'DROP PROCEDURE ' + QUOTENAME([ROUTINE_SCHEMA]) + '.' + QUOTENAME([ROUTINE_NAME]) + ';'
FROM [INFORMATION_SCHEMA].[ROUTINES]
WHERE [ROUTINE_TYPE] = 'PROCEDURE' AND [ROUTINE_NAME] like @prefix + '_%' AND [ROUTINE_SCHEMA]= @schema;
PRINT @sql
EXEC SP_EXECUTESQL @sql;

PRINT 'Finished dropping all stored procedures. Starting to drop all types now.'

SELECT @sql=''; 
SELECT @sql += 'DROP TYPE ' + QUOTENAME(SCHEMA_NAME([SCHEMA_ID])) + '.' +  QUOTENAME([NAME]) + ';'
FROM SYS.TYPES
WHERE is_user_defined = 1 AND [NAME] LIKE @prefix + '_%' AND [SCHEMA_ID]=SCHEMA_ID(@schema);

PRINT @sql
EXEC SP_EXECUTESQL @sql;

Sådan slettes tabeller og stored procedures for dataeksportprofiler for et bestemt objekt

Vigtigt

Før du kører denne SQL-sætning, skal du kontrollere, at du har oprettet værdierne @prefix, @schema og @entityName i sætningen korrekt. I dette eksempel er kundeemneobjekttabellen, -typerne og stored procedurer slettet.

-----------------------------------------------------------------
-- Provide the value for the following parameters
DECLARE @prefix nvarchar(32) ='crm'
DECLARE @schema nvarchar(32) ='dbo'
DECLARE @entityName nvarchar(32) ='lead'
-----------------------------------------------------------------
DECLARE @sql nvarchar(max) = '';

IF @prefix != '' 
BEGIN
       SET @prefix = @prefix + '_'
END

SELECT @sql += 'DROP TABLE ' + QUOTENAME([TABLE_SCHEMA]) + '.' + QUOTENAME([TABLE_NAME]) + ';'
FROM [INFORMATION_SCHEMA].[TABLES]
WHERE [TABLE_TYPE] = 'BASE TABLE' AND [TABLE_NAME] like @prefix + @entityName  AND [TABLE_SCHEMA]= @schema;
PRINT @sql
EXEC SP_EXECUTESQL @sql;
PRINT 'Finished dropping the entity. Starting to drop the types associated with the entity'

SELECT @sql='';
SELECT @sql += 'DROP TYPE ' + QUOTENAME(SCHEMA_NAME([SCHEMA_ID])) + '.' + QUOTENAME([NAME]) + ';'
FROM SYS.TYPES
WHERE
  is_user_defined = 1
  AND (
    [NAME] LIKE @prefix + @entityName +'Type' 
    OR [NAME] LIKE @prefix + @entityName +'IdType'
  )
  AND [SCHEMA_ID] = SCHEMA_ID(@schema);
PRINT @sql
EXEC SP_EXECUTESQL @sql;

Sådan fjernes Dataeksportservice fra Administrer Power Platform

  1. Gå til Avancerede indstillinger.
  2. Vælg Indstillinger > Tilpasninger, og vælg derefter Løsningsoversigt.
  3. Vælg DataExportService udgivet af Microsoft Dynamics 365, og vælg derefter Slet.

Find Microsoft Entra-lejerens id for din lejer

  1. Log på Azure-portalen.
  2. Vælg Lejers egenskaber under Azure-tjenester.
  3. Vælg værdien i feltet Lejer-id.

Statiske IP-adresser for Azure SQL-database bruges af Dataeksportservice

I Azure SQL Database skal du vælge Angiv serverens firewall, indstille Tillad adgang til Azure Services til Fra, vælge Tilføj klient-IP og derefter tilføje de IP-adresser, der er relevant for området for dit miljø. Flere oplysninger: Azure: Konfigurere en firewallregel på SQL Azure Database-serverniveau ved hjælp af Azure Portall

Land/område Ny IP-adresse Gammel IP-adresse
Det vestlige USA 20.245.127.60 13.64.148.9
Østlige USA 172.174.41.63 20.228.153.81
Østasien 20.239.192.9 104.208.84.217
Det sydøstlige Asien 20.24.15.60 20.205.153.14
Det centrale Indien 20.219.158.75 20.198.113.107
Det sydlige Indien 52.140.54.95 104.211.204.18
Det vestlige Europa 20.126.43.104 40.68.244.253
Det nordlige Europa 20.166.94.137 20.238.83.32
Det vestlige Japan Ingen ændring 104.214.144.93
Det østlige Japan 52.253.104.175 20.89.138.246
Det Sydlige Brasilien 4.228.211.102 20.197.186.17
Det sydøstlige Australien Ingen ændring 20.70.112.80
Det østlige Australien 20.5.88.96 20.213.58.3
Det centrale Canada 20.220.227.230 20.151.173.107
Det østlige Canada 40.86.216.207 52.229.109.91
Det vestlige Storbritannien 51.142.173.150 20.68.113.18
Det sydlige Storbritannien 20.117.159.198 20.117.89.184

Bemærk

Nordamerikanske kunder skal føje IP-adresser til en godkendt liste for både det østlige og vestlige USA.

Kunder bør bevare ny IP-adresse og gammel IP-adresse for at forhindre forstyrrelser af datasynkronisering.

Kendte problemer

Slettede poster kan blive genindsat i objekttabellen efter en fejl under synkronisering

Når du genopretter efter synkroniseringsfejl, kan poster, der tidligere er blevet slettet, blive genindsat i den oprindelige objekttabel. For at løse dette problem, når der sker fejl i synkroniseringen, skal du følge disse trin.

  1. Opret eksportprofiler, hvor Skriv slettelog er aktiveret. Genopret eksisterende eksportprofiler, som Skriv slettelog ikke er aktiveret for.

  2. Opret og udfør en SQL-forespørgsel for den SQL Azure-destinationsdatabase, der søger efter poster i tabellen DeleteLog. Hvis der findes en eller flere poster, tyder det på, at der er slettede poster.

  3. Hvis en eller flere poster findes i tabellen DeleteLog, skal du oprette og køre en SQL-forespørgsel, der registrerer miljøer, hvor post-id'et for en post, der findes i tabellen DeleteLog, stemmer overens med post-id'et for en post i en EntityName-tabel, og versionNumber i deleteLog er større end versionNumber på posten i tabellen EntityName. Når der bliver fundet et tilsvarende post-id, kan du slette posten fra EntityName-tabellen. For eksempel, hvis et post-id i kolonnen AccountId i tabellen DeleteLog svarer til et post-id i kolonnen AccountId i AccountBase-objekttabellen, og versionNumber i DeleteLog er større end versionNumber i tabellen Account, skal du slette posten fra AccountBase-objekttabellen.

    Vigtigt

    Afhængigt af dine forretningsmæssige behov og krav anbefaler vi, at du udfører SQL-forespørgsler for hyppighed af sletning af poster, men på tidspunkter uden for almindelige drift.

    Eksempel på forespørgsel om sletning af objektposter.

DELETE A FROM [dbo].[prefix_account] A
WHERE id IN (SELECT CONVERT(uniqueidentifier, recordid) FROM [dbo].[prefix_DeleteLog] DL WHERE DL.entityname ='account'
AND DL.VersionNumber > A.VersionNumber)

Objekter, der ikke understøtter eksport af data

Selvom de objekter, der er angivet her, understøtter ændringssporing, understøttes de ikke til eksport af data ved hjælp af Dataeksportservice.

Enhed Tabelnavn Løsning
Aktivitet ActivityPointerBase Vælg de specifikke aktivitetsobjekter til eksport, f.eks. Telefonopkald, Aftale, E-mail og Opgave.

Det er ikke muligt at oprette en række, der er større end den tilladte maksimale rækkestørrelse (8 K)

Hvis dine fejllogfiler viser "Det er ikke muligt at oprette en række med størrelsen (størrelse), som er større end den tilladte maksimale rækkestørrelse på 8060", er der opstået et problem, hvor du overskrider grænsen for den maksimalt tilladte rækkestørrelse. Dataeksportservice understøtter ikke rækkestørrelser, der er større end den maksimalt tilladte rækkestørrelse på 8 K. Hvis du vil afhjælpe dette, skal du kontrollere, at du overholdet begrænsningerne for rækkestørrelse.

Strenglængden i kilden er længere end destinationsskemaet for ColumnName

Hvis dine fejllogfiler viser "Strenglængden i kilden er længere end destinationsskemaet for [ColumnName, MaxDataLength]", er der opstået et problem, hvor strengen i dine kildedata er længere end strengen på destinationen. Hvis strenglængden i kildedataene er længere end destination, mislykkes skrivninger til destinationen. Du løser dette problem ved enten at reducere datastørrelsen eller øge kolonnelængden, der er større end MaxLength manuelt i databasen.

Ingen understøttelse af vedhæftede filer

Eksport af vedhæftede filer, for eksempel documentbody i tabellen Anmærkning,understøttes ikke.

Erklæring om beskyttelse af personlige oplysninger

Ved at bruge Dataeksportservice, når du aktiverer en dataeksportprofil i Dynamics 365, sendes dataene i objekterne, der tilføjes til profilen, til Azure. Den indledende synkronisering omfatter alle de data, der er knyttet til de objekter, som tilføjes til eksportprofilen, men derefter omfatter synkroniseringen kun nye ændringer, som kontinuerligt sendes til Dataeksportservice. Data, der sendes til Dataeksportservice, lagres midlertidigt i Azure Services Bus og Azure-lager, behandles i Azure Service Fabric og synkroniseres til sidst (indsættes, opdateres eller slettes) til den destinationsdatabase, der er angivet i dit Azure-abonnement. Når dataene er synkroniseret, slettes de fra Azure Service Bus og Azure-lager. Hvis der sker en fejl under datasynkronisering, lagres en minimal mængde data, svarende til objekttype, post-id og synkroniseringstidsstempel, i Azure-lager for at gøre det muligt at overføre en liste over poster, der ikke blev opdateret.

En administrator kan til enhver tid deaktivere eksportprofilen for at standse datasynkroniseringen. Desuden kan en administrator slette eksportprofilen for at fjerne eventuelle logfiler med fejlbehæftede poster, og vedkommende kan fjerne løsningen Dataeksportservice for at standse brugen af Dataeksportservice.

Datasynkroniseringen sker kontinuerligt mellem Dynamics 365 og Dataeksportservice på en sikker måde. Data krypteres, når de kontinuerligt udveksles mellem Dynamics 365 og Dataeksportservice.

De Azure-komponenter og -tjenester, som indgår i Dataeksportservice, er beskrevet nærmere i nedenstående afsnit.

Microsoft Azure Center for sikkerhed og rettighedsadministration

Azure Service Fabric

Denne funktion leverer API og Azure-beregnings-VM'er til behandling af meddelelser om postsynkronisering, der modtages fra Dynamics 365, og derefter behandles de, så postdata kan indsættes, opdateres eller slettes i destinationsdatabasen. Mikrotjenester, der er installeret på virtuelle maskiner styret af Azure Service Fabric, håndterer kørslen af alle beregningstjenester i forbindelse med datasynkronisering.

Azure Service Bus

Denne funktion leverer den meddelelsesbus, hvor Dynamics 365 indsætter de synkroniseringsmeddelelser, der behandles af beregningsnoder i Azure Service Fabric. Hver meddelelse gemmer oplysninger, f.eks. det org-id og den post, der skal synkroniseres data for. Data i Azure Service Bus er krypteret, og de er kun tilgængelige for Dataeksporttjeneste.

Azure Blob Storage

Data lagres midlertidigt i Azure Blob Storage i tilfælde af, at dataene i meddelelsen om postsynkronisering er for store til at lagre i en meddelelse, eller der registreres en midlertidig fejl under behandlingen af synkroniseringsmeddelelsen. Disse blob-klynger bliver krypteret ved at udnytte den nyeste funktion i Azure Storage SDK, der både leverer symmetrisk og asymmetrisk krypteringsunderstøttelse samt integration af Azure Key Vault.

Azure SQL

I Azure SQL Database lagres konfigurationen af dataeksportprofilen og metrikværdier for datasynkronisering.

Se også

Oversigt over objektrelationer
Dataeksportservice
Teamblog: Introduktion til Dataeksportservice