Del via


Replikere data til Azure SQL Database ved hjelp av dataeksporttjenesten

Obs!

Med virkning fra november 2021 ble Dataeksporttjeneste avskrevet. Dataeksporttjeneste vil fortsette å fungere og vil ha full støtte til den når slutten av støtten og slutten av levetiden i november 2022. Mer informasjon: https://aka.ms/DESDeprecationBlog

Dataeksporttjeneste er en tilleggstjeneste som er gjort tilgjengelig på Microsoft AppSource som gir mulighet til å replikere data fra Microsoft Dataverse-databasen til et Azure SQL Database-lager i et kundeeid Azure-abonnement. De støttede måldestinasjonene er Azure SQL Database og SQL Server på virtuelle Azure-maskiner. Dataeksporttjenesten utfører intelligent synkronisering av hele dataene først og synkroniserer deretter på kontinuerlig basis når det oppstår endringer (deltaendringer) i systemet. Dette gjør det mulig med flere analyse- og rapporteringsscenarier i tillegg til data med Azure-data og -analysetjenester, og åpner opp for nye muligheter for kunder og partnere for å utvikle tilpassede løsninger.

Obs!

Vi anbefaler på det sterkeste å eksportere Dataverse-dataene til Azure Synapse Analytics eller Azure Data Lake Gen2 med Azure Synapse Link for Dataverse. Mer informasjon: Øk tiden til innsikt med Azure Synapse Link for Dataverse

Du kan bruke Dataeksporttjeneste med kundeengasjementsappene (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing og Dynamics 365 Project Service Automation).

Hvis du vil ha informasjon om programmeringsgrensesnitt for å administrere konfigurasjon og administrasjon av Dataeksporttjeneste, kan du se Dataeksporttjeneste i utviklerveiledningen.

Forutsetninger for bruk av Dataeksporttjeneste

Forutsetningene nedenfor kreves for å begynne å bruke Dataeksporttjenesten.

Azure SQL Database-tjeneste

  • En kundeeid Azure SQL Database-abonnement. Dette abonnementet må tillate datamengden som synkroniseres.

  • Innstillinger for brannmur. Vi anbefaler at du deaktiverer Gi tilgang til Azure-tjenester og angir riktige klient-IP-adresser, som er oppført i dette emnet. Mer informasjon: Statiske IP-adresser for Azure SQL-database brukes av dataeksporttjenesten

    Du kan også aktivere Gi tilgang til Azure-tjenester for å gi tilgang til alle Azure-tjenester.

    For SQL Server på Azure VM, må alternativet "Koble til SQL Server via Internett" være aktivert. Mer informasjon: Azure: Koble til en virtuell SQL Server-maskin på Azure

    Konfigurer også brannmurregler for å tillate kommunikasjon mellom dataeksporttjenesten og SQL Server.

  • Databasebrukeren må ha tillatelser på databasen og skjemanivå i henhold til tabellene nedenfor. Databasebrukeren brukes i tilkoblingsstrengen for dataeksport.

    Databasetillatelser som kreves.

    Typekode for tillatelse Navn på tillatelse
    CRTB OPPRETT TABELL
    CRTY OPPRETT TYPE
    CRVW OPPRETT VISNING
    CRPR OPRETT PROSEDYRE
    ALUS ENDRE EN BRUKER
    VWDS VIS DATABASETILSTAND

    Skjematillatelser som kreves.

    Typekode for tillatelse Navn på tillatelse
    AL ENDRE
    INN SETT INN
    DL DEL
    SL VELG
    OPP OPPDATER
    EX KJØR
    RF REFERANSER

Azure Key Vault-tjeneste

  • Kundeeid Key Vault-abonnement, som brukes til å vedlikeholde sikkert databasetilkoblingsstrengen.

  • Gi PermissionsToSecrets-tillatelser til appen med ID-en "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf." Dette kan fullføres ved å kjøre AzurePowerShell-kommandoen nedenfor, og brukes for tilgang til Key Vault som inneholder hemmeligheten for tilkoblingsstrengen. Mer informasjon: Konfigurere Azure Key Vault

  • Hemmeligheter i Key Vault må merkes med organisasjons- (OrgId) og leier-IDer (TenantId). Dette kan fullføres ved å kjøre AzurePowerShell-kommandoen nedenfor. Mer informasjon: Konfigurere Azure Key Vault

  • Konfigurer brannmurregler for å tillate kommunikasjon mellom dataeksporttjenesten og Azure Key Vault.

Kundeengasjementsapper

  • Et miljø i versjon 9.0 eller nyere.

  • Dataeksporttjeneste-løsningen må være installert.

    • Gå til Innstillinger>Microsoft Appsource> søker i eller bla til Microsoft Dynamics 365 - Dataeksporttjeneste, og velger deretter Hent den nå.
    • Alternativt kan du finne den på Microsoft AppSource.
  • Enheter som legges til i eksportprofilen, må ha sporing av endringer aktivert. For å være sikker på at en standard eller egendefinert enhet kan synkroniseres, gå til Tilpassing>Tilpasse systemet, og klikk deretter enheten. I kategorien Generelt må du kontrollere at alternativet Endringssporing under delen Datatjenester, er aktivert.

  • Du må ha sikkerhetsrollen for systemansvarlig i forekomsten av miljøet.

Webleser

Aktiver popup-vinduer for domenet https://discovery.crmreplication.azure.net/ i nettleseren din. Dette er nødvendig for automatisk pålogging når du skal gå til Innstillinger > Dataeksport.

Nødvendige tjenester, legitimasjon og rettigheter

Hvis du vil bruke Dataeksporttjeneste-funksjonen, må du ha følgende tjenester, rettigheter og privilegier.

  • Et abonnement. Bare brukere som er tilordnet sikkerhetsrollen for systemansvarlig, kan definere eller gjøre endringer i eksportprofiler.

  • Azure-abonnement som inkluderer følgende tjenester.

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

    • Azure Key Vault.

Viktig

Hvis du vil bruke Dataeksporttjeneste, må kundeengasjementsapper og Azure Key Vault-tjenestene operere under samme leier og i samme Microsoft Entra ID. Mer informasjon: Azure-integrasjon med Microsoft 365

Azure SQL Database-tjenesten kan være i samme eller en annen leier fra tjenesten.

Hva du bør vite før du bruker Dataeksporttjenesten

  • Eksportprofiler må slettes, og deretter opprettes på nytt hver gang du utfører en av følgende handlinger på et miljø.

    • Gjenopprett et miljø.
    • Kopier (fullstendig eller minimal) et miljø.
    • Tilbakestill et miljø.
    • Flytt et miljø til et annet land eller område.

    Hvis du vil gjøre dette, kan du slette eksportprofilen i visningen EKSPORTPROFILER, slette tabeller og lagrede prosedyrer, og deretter opprette en ny profil. Mer informasjon: Slette alle Dataeksportprofil-tabeller og lagrede prosedyrer

  • Dataeksporttjenesten fungerer ikke for sandkasse- eller produksjonsmiljøer som er konfigurert med Aktiver administrasjonsmodus aktivert. Mer informasjon: Administrasjonsmodus.

  • Dataeksporttjenesten sletter ikke de tilknyttede tabellene, kolonnene eller lagrede prosedyreobjekter i mål-Azure SQL-databasen når følgende handlinger utføres.

Eksportprofil

For å eksportere data fra kundeengasjementsapper oppretter administratoren en eksportprofil. Flere profiler kan opprettes og aktiveres for å synkronisere data til forskjellige måldatabaser samtidig.

Eksportprofilen er kjernebegrepet for Dataeksporttjenesten. Eksportprofilen samler inn informasjon om oppsett og konfigurasjon for å synkronisere data med måldatabasen. Som en del av eksportprofilen gir administratoren en oversikt over enheter som skal eksporteres til måldatabasen. Når aktivert, starter eksportprofilen automatisk synkroniseringen av data. I utgangspunktet eksporteres alle data som tilsvarer hver valgte enhet. Deretter blir bare endringer i dataene når de oppstår i enhetsoppføringene eller metadataene i kundeengasjementsapper, synkronisert kontinuerlig i nær sanntid ved hjelp av en overføringsmekanisme. Derfor trenger du ikke å definere en tidsplan for å hente data fra kundeengasjementsapper.

Bare enheter som har sporing aktivert, kan legges til i eksportprofilen. Legg merke til at de fleste standardenheter som kan registrere data, har endringssporing aktivert. Egendefinerte enheter må aktiveres eksplisitt for endringssporing før du kan legge dem til en eksportprofil. Mer informasjon: Aktivere sporing av endringer for å styre datasynkronisering

Dataeksporttjenesten synkroniserer både metadata og data. Hver enhet oversettes til en tabell, og hvert felt oversettes til en kolonne i måldatabasetabellen. Tabell- og kolonnenavnene bruker skjemanavnet for metadata.

Når aktivert, vil eksportprofilen samle inn statistikk for datasynkronisering som bidrar til driftssynlighet og diagnostisering av dataene som eksporteres.

Datasynkronisering er tilgjengelig med en eksportprofil

Kategori Funksjon Datatyper som støttes
Innledende synkronisering Metadata – grunnleggende datatyper Heltall, flyttall, desimaltall, enkelt linje med tekst, flere linjer med tekst, dato og klokkeslett.
Innledende synkronisering Metadata – avanserte datatyper Valuta, PartyList, alternativsett, status, statusårsak, oppslag (inkludert kunde- og angående type-oppslag). PartyList er bare tilgjengelig for eksportversjon 8.1 eller nyere.
Innledende synkronisering Data – grunnleggende typer Alle grunnleggende datatyper
Innledende synkronisering Data – avanserte typer Alle avanserte datatyper
Delta-synkronisering Endre skjema - grunnleggende typer Legg til eller endre feltendring, alle grunnleggende datatyper.
Delta-synkronisering Endre skjema - avanserte typer Legg til eller endre feltendring, alle avanserte datatyper.
Delta-synkronisering Endre data - grunnleggende typer Alle grunnleggende datatyper
Delta-synkronisering Endre data - avanserte typer Alle avanserte datatyper, for eksempel PartyList.

Opprette en eksportprofil

Kontroller at kravene nedenfor er oppfylt før du oppretter en eksportprofil.

  • Løsningen Dataeksporttjeneste er installert i miljøet.

  • Vedlikehold SQL-databasetilkoblingsstrengen i Key Vault, og kopier URL-adressen for Key Vault som skal angis i eksportprofilen. Mer informasjon: Azure: Komme i gang med Azure Key Vault

  • Enheter som skal legges til i eksportprofilen, er aktivert for sporing av endringer. Mer informasjon: Aktivere sporing av endringer for å styre datasynkronisering

  • SQL-databasetjenesten har nok lagringsplass til å lagre dataene.

  • Du er systemadministrator i miljøet.

  1. Gå til Innstillinger>Dataeksport.

  2. Septembergjennom meldingen, og velg Fortsett eller Avbryt hvis du ikke vil eksportere data.

  3. Hvis du vil opprette en ny eksportprofil, velger du Ny.

  4. I Egenskaper-trinnet angir du informasjonen nedenfor, og velger deretter Neste for å fortsette uten å koble til Key Vault. Når du velger Valider, brukes URL-adressen for Key Vault som du angav for å koble til Key Vault.

    • Navn. Unikt navn på profilen. Dette feltet er obligatorisk.

    • URL-adresse for Key Vault-tilkobling. URL-adressen for Key Vault peker til tilkoblingsstrengen som lagres med legitimasjonen som brukes til å koble til måldatabasen. Dette feltet er obligatorisk. Mer informasjon: Konfigurere Azure Key Vault

      Viktig

      URL-adressen for nøkkelhvelv for tilkobling skiller mellom små og store bokstaver. Angi URL-adressen for nøkkelhvelv for tilkobling nøyaktig slik den vises etter at du har kjørt Windows PowerShell-kommandoene i dette emnet.

    • Skjema. Navnet på et alternativ databaseskjema. Bare alfanumeriske tegn er gyldige. Dette feltet er valgfritt. Som standard er dbo skjemaet som brukes for målet SQL Database.

    • Prefiks. Prefiks som brukes for tabellnavn som er opprettet i måldatabasen. Dette hjelper deg med å identifisere tabeller som er opprettet for eksportprofilen i måldatabasen. Når det er angitt, må du kontrollere at prefikset inneholder færre enn 15 tegn. Dette feltet er valgfritt, og bare alfanumeriske tegn er tillatt.

    • Antall nye forsøk. Antall ganger en oppføring prøves på nytt hvis det ikke er mulig å sette inn eller oppdatere i måltabellen. Dette feltet er obligatorisk. Gyldige verdier er 0-20, og standard er 12.

    • Intervall for nye forsøk. Antall sekunder å vente før et nytt forsøk i tilfelle det oppstår en feil. Dette feltet er obligatorisk. Gyldige verdier er 0-3600, og standard er 5.

    • Skriv Slett logg. Valgfri innstilling for logging av slettet oppføringer.

    Kategorien Egenskaper i dialogboksen Opprett eksportprofil.

  5. I Velg enheter-trinnet velger du enhetene du vil eksportere til målet SQL Database, og deretter velger du Neste.

    Velg kategorien Enheter i dialogboksen Opprett eksportprofil.

  6. I Velg relasjoner-trinnet kan du synkronisere M:N-relasjonene (mange-til-mange) som finnes, med enhetene som du valgte i det forrige trinnet. Velg Neste.

    Opprett eksportprofil - Behandle relasjoner - Velg relasjoner.

  7. I Sammendrag-trinnet velger du Opprett og aktiver for å opprette profiloppføringen og koble til Key Vault, som starter synkroniseringsprosessen. Hvis ikke velger du Opprett for å lagre eksportprofilen og aktivere senere.

    Kategorien Sammendrag i dialogboksen Opprett eksportprofil.

Endre en eksisterende eksportprofil

Du kan legge til eller fjerne enheter og relasjoner i en eksisterende eksportprofil som du vil replikere.

  1. Gå til Innstillinger>Dataeksport.

  2. I visningen Alle dataeksportprofiler velger du eksportprofilen som du vil endre.

    Velge en eksportprofil.

  3. På handlingsverktøylinjen velger du BEHANDLE ENHETER for å legge til eller fjerne enheter for dataeksport. Hvis du vil legge til eller fjerne enhetsrelasjoner, velger du BEHANDLE RELASJONER.

    Administrere enheter eller enhetsrelasjoner.

  4. Velge enhetene eller enhetsrelasjonene som du vil legge til eller fjerne.

    Velge enhetene eller enhetsrelasjonene som skal legges til eller fjernes.

  5. Velg Oppdater for å sende inn endringene til eksportprofilen.

Viktig

Når du fjerner en enhet eller enhetsrelasjon fra en eksportprofil, sletter den ikke den tilsvarende tabellen i måldatabasen. Før du på nytt kan legge inn en enhet som er fjernet, må du slette den tilsvarende tabellen i måldatabasen. Hvis du vil fjerne en enhetstabell, kan du se Slette Dataeksportprofil-tabeller og lagrede prosedyrer for en spesifikk enhet

Tabelldetaljer for SQL Azure-måldatabasen

Dataeksporttjenesten oppretter tabeller både for data og metadata. Det opprettes en tabell for hver enhet og M:N-relasjon som synkroniseres.

Når en eksportprofil er aktivert, opprettes disse tabellene i måldatabasen. Disse er systemtabeller og vil ikke ha feltene SinkCreatedTime og SinkModifiedTime lagt til.

Tabellnavn Opprettet
<Prefiks>_GlobalOptionsetMetadata Ved aktivering av eksportprofil.
<Prefiks>_OptionsetMetadata Ved aktivering av eksportprofil.
<Prefiks>_StateMetadata Ved aktivering av eksportprofil.
<Prefiks>_StatusMetadata Ved aktivering av eksportprofil.
<Prefiks>_TargetMetadata Ved aktivering av eksportprofil.
<Prefiks>_AttributeMetadata Ved aktivering av eksportprofil.
<Prefiks>_DeleteLog Ved aktivering av eksportprofil når alternativet Slett logg er aktivert.

Løse synkroniseringsproblemer

Selv etter flere nye forsøk kan feil ved synkronisering av oppføringer oppstå på grunn av begrensninger i databaselagring eller låsing av tabeller som kjører tidkrevende spørringer. For å løse disse feilene kan du tvinge en synkronisering av bare mislykkede poster eller en synkroniseringen av alle poster.

  1. Vis eksportprofilene for å se etter noen som har feil ved synkronisering av oppføringer. Du gjør dette ved å vise dataprofilene i området Synkronisering eller ved å åpne en eksportprofil, for eksempel denne profilen som inneholder synkroniseringsfeil for oppføring for kontaktenhet.

    DataExport_failed_records_exist.

  2. Undersøk kilden til synkroniseringsfeilen og løs problemet. Mer informasjon: Feilbehandling og overvåking

  3. Etter at problemet er løst, kan du synkronisere de mislykkede postene.

    Obs!

    Synkronisering av mislykkede poster er en offentlig forhåndsvisningsfunksjon.

    • Forhåndsversjonsfunksjonene er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er tilgjengelige før en offisiell utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemelding.
      • Det vil sannsynligvis bli gjort endringer i denne funksjonen, så du bør ikke bruke den i produksjonssammenheng. Den bør bare brukes i test- og utviklingsmiljøer.
      • Microsoft gir ikke støtte for denne forhåndsfunksjonen. Teknisk kundestøtte for Microsoft Dynamics 365 kan ikke hjelpe deg med problemer eller svare på spørsmål. Forhåndsfunksjoner er ikke ment for produksjonsbruk og er underlagt separate tilleggsvilkår for bruk.
    1. Logg på miljøet, og gå til Innstillinger>Dataeksport.

    2. Åpne eksportprofilen som inneholder feil ved synkronisering av oppføringer.

    3. På verktøylinjen for eksportprofil velger du SYNKRONISER MISLYKKEDE OPPFØRINGER PÅ NYTT.

    4. Velg Ok i bekreftelsesdialogboksen ved vellykket synkronisering av mislykkede oppføringer.

    Varsel om en vellykket ny synkronisering.

    1. Kontroller at eksportprofilen ikke inneholder varslinger om mislykkede oppføringer ved å åpne dataeksportprofilen og vise Mislykkede varsler-telleren i kategorien EGENSKAPER OG OVERSIKT, som skal være 0. Velg OPPDATER på verktøylinjen for eksportprofil for å kontrollere at verdien for Mislykkede varsler er gjeldende.

    Ingen oppføringer om mislykkede indikasjon.

  4. Hvis synkroniseringsfeilene for oppføringer vedvarer etter at du har prøvd ny synkronisering ved å følge trinnene ovenfor, kontakt Microsofts Kundestøtte.

Feilbehandling og overvåking

Hvis du vil vise synkroniseringsstatusen for en eksportprofil, går du til Innstillinger>Dataeksport og åpner eksportprofilen. I kategorien ENHETER vises synkroniseringsstatus inkludert en Mislykkede oppføringer-kolonne for oppføringer som ikke kunne synkroniseres. For eventuelle mislykkede oppføringer kan en liste over disse oppføringene inkludert statusårsaken, lastes ned ved å velge MISLYKKEDE OPPFØRINGER på kommandolinjen.

Kommandolinjen for eksportprofiler - Mislykkede oppføringer-knappen.

I eksportprofilen kan du velge EGENSKAPER OG OVERSIKT for å vise egenskapene for profilen. Velg RELASJONER for å vise synkroniseringsstatusen for relasjoner.

Slik viser du detaljert informasjon om oppføringene som ikke ble synkronisert

Visning av mislykkede postlogger kan hjelpe deg med å finne årsaken til synkroniseringsfeilene. Hvis du vil vise mislykkede oppføringer i Azure-måldatabasen, kan du bruke Azure Storage Explorer, en gratis, frittstående app, som lar deg enkelt arbeide med data fra Azure Storage. Mer informasjon: Azure Storage Explorer.

  1. Gå til Innstillinger>Dataeksport.

  2. I visningen Alle dataeksportprofiler velger du eksportprofilen som har mislykkede varslinger.

    Mislykkede varsler.

  3. Velg MISLYKKEDE OPPFØRINGER på handlingsverktøylinjen.

    Verktøylinjeknapp for mislykkede oppføringer.

  4. I dialogboksen Last ned mislykkede oppføringer velger du Kopier URL-adresse for Blob, og deretter velger du Ok.

    Dialogboks for nedlasting av mislykkede oppføringer.

    Obs!

    URL-adresse for Blob er gyldig i opptil 24 timer. Hvis URL-adressen overskrider perioden på 24 timer, gjentar du trinnene som er beskrevet tidligere, for å generere en ny URL-adresse for Blob.

  5. Start Azure Storage Explorer.

  6. Velg Koble til Azure Storage i Azure Storage Explorer.

  7. Lime inn URL-adressen fra utklippstavlen i boksen Koble til Azure Storage, og velg deretter Neste.

  8. Velg Koble til på siden for tIlkoblingssammendrag.

  9. Azure Storage Explorer kobler til måldatabasen. Hvis det finnes mislykkede oppføringer for eksportprofilen, viser Azure Storage Explorer mappene med mislykkede oppføringssynkroniseringer.

Slik viser du detaljert informasjon om oppføringene som ikke ble synkronisert (forhåndsvisning)

Du kan laste ned mislykkede oppføringer direkte fra brukergrensesnittet i Dataeksporttjeneste. Denne funksjonen kan nå forhåndsvises, og det kan være nyttig for deg å teste og gi tilbakemelding.

Fremgangsmåte for å laste ned mislykkede poster:

  1. Identifiser profilen med mislykkede oppføringer.

    Dataeksportprofiler.

  2. Velg profilen, og velg Last ned mislykkede oppføringer (forhåndsvisning) fra øverst på menylinjen.

    Laste ned mislykkede oppføringer (forhåndsvisning).

  3. I Last ned mislykkede oppføringer-dialogboksen vises en sortert liste over de siste 20 (maks) BLOB-filene. Velg den du vil laste ned, og velg deretter OK.

    Laste ned mislykkede oppføringer.

  4. Når du har lastet ned, åpner du filen i et tekstredigeringsprogram (for eksempel Notisblokk) og viser detaljer om feilene.

    Eksempelfeillogg.

Mappestruktur og logg-filer for mislykkede synkroniseringsoppføringer

Azure Blobs URL-adresse for lagring av mislykkede oppføringer peker til en plassering som har følgende mappestruktur:

  • data. Denne mappen inneholder mislykkede datavarsler og tilknyttede JSON for oppføringsdata.

  • metadata. Denne mappen inneholder mislykkede metadatavarsler og tilknyttede JSON for metadata.

  • feillogg. Denne mappen inneholder loggene som gir informasjon om synkroniseringsfeil og årsaken til at feilen oppstod.

  • forcerefreshfailurelog. Denne mappen inneholder feil fra siste kjøring av Mislykkede oppføringer-kommandoen i Dataeksporttjeneste som ble brukt til å synkronisere mislykkede poster på nytt.

  • ubehandlbare meldinger. Denne mappen inneholder datameldinger som ikke ble behandlet på grunn av sletting av data eller metadata og tilknyttede JSON.

    Mappene failurelog og forcerefreshfailurelog er ordnet etter år\måned\dag\time slik at du raskt finner de siste feilene. Alle feiloppføringer som er eldre enn 30 dager blir slettet.

    Her er en eksempelloggfil som indikerer en synkroniseringsfeil for oppføring for kontaktenhet.

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.  

Vanlige årsaker til feil ved oppføringssynkronisering

Her er noen grunner til hvorfor feil ved oppføringssynkronisering kan oppstå.

  • Ikke nok lagringsplass for måldatabasen. Før du prøver å synkronisere de mislykkede postene på nytt, øk eller frigjør Azure SQL Database-lagringsplass etter behov. Hvis dette problemet oppstår, vil en lignende melding registreres i feil-loggen.

    Databasen 'databasename' har nådd størrelsesgrensen. Partisjoner eller slett data, fjern indekser eller se i dokumentasjonen etter mulige løsninger.

  • Tidsavbrudd for synkronisering med Azure SQL Database. Dette kan skje under den innledende synkroniseringen av en dataeksportprofil, når store mengder data behandles samtidig. Når dette problemet oppstår, kan du synkronisere de mislykkede postene på nytt. Løse synkroniseringsproblemer

Gode fremgangsmåter ved bruk av Azure SQL-Database med dataeksport

  • Hvis du vil unngå synkroniseringsfeil på grunn av ressursregulering, anbefaler vi at du har en Azure SQL Database Premium P1 eller bedre plan når du bruker Dataeksporttjeneste. Mer informasjon: Azure ressurs grenser for SQL-databasen og prising av SQL-Database

  • Angi at Azure SQL Database skal bruke Read Committed Snapshot Isolation (RCSI) for arbeidsbelastninger som kjøres samtidig på måldatabasen som utfører tidkrevende spørringer for lesing, for eksempel rapportering og ETL jobber. Dette reduserer forekomsten av tidsavbruddsfeil som kan oppstå med Dataeksporttjeneste pga read\write-konflikter.

  • For å forbedre ytelsen for spørringer anbefaler vi at maksimal grad av parallellisme (MAXDOP) for Dataeksporttjeneste-databasen angis til 1. Mer informasjon: MSDN: Serverminnealternativer

  • Vurder ofte fragmenteringsgraden, og bygg indeksene i Dataeksporttjeneste-databasen på nytt ved behov. Mer informasjon: Organisere og bygge indekser på nytt

  • Oppdater regelmessig databasestatistikk i tabeller og indekserte visninger i Dataeksporttjeneste-databasen. Mer informasjon: Oppdatere statistikk

  • Overvåk bruken av Dataeksporttjeneste-databasen. Mer informasjon: Ytelsesovervåking

Om ventetid for datasynkronisering

Dataeksporttjenesten er utformet for å synkronisere dataendringer til måldatabasen ved hjelp av en overføringsmekanisme ved å lytte til endringer når de oppstår i kundeengasjementsapper. Tjenesten prøver å overføre data i løpet av et par minutter, men det er flere faktorer som kan påvirke ventetiden for ende-til-ende-synkronisering.

Faktorer som påvirker varigheten til synkroniseringen inkluderer følgende:

  • Gjeldende arbeidsbelastning på kundeengasjementsapper.
  • Dataendringsfrekvensen i kundeengasjementsapper.
  • Antall enheter som er lagt til hver eksportprofil og deres attributter.
  • Ytelse til SQL Server. Eksempel:
    • Oppsettstid for SQL-tilkobling.
    • Kjøretid for SQL-setning.

Basert på vår overvåking av tjenesten, er det observert at den mest pågående deltasynkroniseringen er ferdig på 15 minutter når tjenesten brukes under følgende forhold:

  • Synkroniseringen som skjer, er en deltasynkronisering og ikke den første synkroniseringen. Deltasynkronisering gjelder bare for dataendringsoperasjoner, som inkluderer oppføringsoppretting, oppdatering og sletting av transaksjoner. Vær oppmerksom på at deltasynkroniseringen starter når den første synkroniseringen er ferdig.
  • Maksimal dataendringsrate i kundeengasjementsapper for alle enheter i eksportprofilen er mindre enn 3000 oppføringer per time. En plutselige økning i dataendringsraten på grunn av masseendring av oppføringer som overskrider maks. endringsrate, fører til ytterligere ventetid.
  • Hver enhet som er lagt til en eksportprofil, har mindre enn 150 attributter.
  • Databasetilkobling eller kjøring av SQL-setning fullfører på mindre enn 10 sekunder. Hvis denne grensen overskrides, fører det ytterligere ventetid.
  • Ingen måldatabasetilkobling eller SQL-kjøringsfeil oppstår under synkroniseringen.

Når betingelsene over er oppfylt, er 15 minutter en vanlig synkroniseringsventetid. Microsoft tilbyr ingen serviceavtale for Dataeksporttjeneste og gir ingen garantier eller løfter når det gjelder synkroniseringsventetider.

Konfigurere Azure Key Vault

Kjøre Windows PowerShell-skriptet som er beskrevet her, som Azure-kontoadministrator, for å gi tillatelse til Dataeksporttjeneste-funksjonen, slik at den kan få tilgang til Azure Key Vault. Dette skriptet viser URL-adressen for Key Vault som kreves for oppretting av eksportprofilen som brukes til å få tilgang til tilkoblingsstrengen.

Før du kjører skriptet, kan du erstatte plassholderne for variablene nedenfor.

  • $subscriptionId. Key Vault-ressursgruppen du vil bruke. Hvis det ikke allerede finnes en ressursgruppe, opprettes en ny med navnet du angir. I dette eksemplet brukes ContosoResourceGroup1.

  • $location. Angi plasseringen der ressursgruppen er eller bør bli funnet, for eksempel Vestlige USA.

  • $connectionString. Tilkoblingsstrengen til Azure SQL Database. Du kan bruke ADO.NET-tilkoblingsstrengen slik den er vist i Azure-instrumentbordet.

  • $organizationIdList = kommadelt liste over tillatte organisasjoner, oppført etter organisasjons-ID (organizationId), å aktivere for Dataeksporttjeneste. Hvis du vil finne en organisasjons ID, går du til Innstillinger>Tilpassinger>Ressurser for utviklere. Organisasjons-ID-en er under Referanseinformasjon for miljø.

  • $tenantId. Angir Azure Active Directory-leier-IDen som Key Vault-abonnementet tilhører.

Viktig

Et Azure-abonnement kan ha flere leier-IDer for Azure Active Directory. Pass på at du velger riktig Azure Active Directory-leier-ID som er knyttet til miljøet for du vil bruke for dataeksport.

Obs!

Kontroller at bruker-IDen som det refereres til i $connectionString har riktig tillatelse til mål-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)""

Slette alle Dataeksportprofil-tabeller og lagrede prosedyrer

Viktig

Kontroller at du har riktig definert verdier for @prefix og @schema i setningen før du kjører denne SQL-setningen. Eksportprofilen må opprettes på nytt når du har kjørt denne SQL-setningen.

-----------------------------------------------------------------
-- 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;

Slette Dataeksportprofil-tabeller og lagrede prosedyrer for en spesifikk enhet

Viktig

Kontroller at du har riktig definerte verdier for @prefix, @schema og @entityName i setningen før du kjører denne SQL-setningen. I dette eksemplet slettes kundeemnertabellen, typer og lagrede prosedyrer.

-----------------------------------------------------------------
-- 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;

Slik avinstallerer du dataeksporttjeneste fra Administrer Power Platform

  1. Naviger til Avanserte innstillinger.
  2. Velg Innstillinger > Tilpasninger, og velg deretter Løsninger.
  3. Velg DataExportService som er publisert av Microsoft Dynamics 365, og velg deretter Slett.

Finne Microsoft Entra-leier-IDen for leieren din

  1. Logg på Azure-portalen.
  2. Under Azure-tjenester velger du Egenskaper for leier.
  3. Velg verdien i Leier-ID-feltet.

Statiske IP-adresser for Azure SQL-database brukes av dataeksporttjenesten

I Azure SQL Database velger du Angi serverbrannmur, setter Gi tilgang til Azure-tjenester til AV, velger Legg til klient-IP-adresse, og legger deretter til IP-adressene som er riktig for området for miljøet. Mer informasjon: Azure: Konfigurere en brannmurregel på servernivå for Azure SQL Database ved hjelp av Azure-portalenl

Område Ny IP-adresse Gammel IP-adresse
USA vest 20.245.127.60 13.64.148.9
USA, øst 172.174.41.63 20.228.153.81
Asia øst 20.239.192.9 104.208.84.217
Asia, sørøst 20.24.15.60 20.205.153.14
India, sentralt 20.219.158.75 20.198.113.107
India, sør 52.140.54.95 104.211.204.18
Europa, vest 20.126.43.104 40.68.244.253
Europa, nord 20.166.94.137 20.238.83.32
Japan, vest Ingen endring 104.214.144.93
Japan, øst 52.253.104.175 20.89.138.246
Brasil, sør 4.228.211.102 20.197.186.17
Australia, sørøst Ingen endring 20.70.112.80
Australia, øst 20.5.88.96 20.213.58.3
Canada, sentralt 20.220.227.230 20.151.173.107
Canada, øst 40.86.216.207 52.229.109.91
Storbritannia, vest 51.142.173.150 20.68.113.18
Storbritannia, sør 20.117.159.198 20.117.89.184

Obs!

Kunder i Nord-Amerika bør legge til IP-adresser i en godkjent liste for både USA, øst og USA, vest.

Kunder bør beholde ny IP-adresse og gammel IP-adresse for å hindre avbrudd i datasynkronisering.

Kjente problemer

Slettede poster kan komme i enhetstabellen igjen etter en feil under synkronisering

Når du gjenoppretter fra synkroniseringsfeil, kan poster som tidligere ble slettet settes tilbake til i den opprinnelige enhetstabellen. Følg disse trinnene hvis du vil omgå dette problemet ved synkroniseringsfeil.

  1. Opprett Eksportprofiler som har Skriv slettelogg aktivert. Opprett eksisterende Eksportprofiler på nytt som ikke har Skriv slettelogg aktivert.

  2. Opprett og utfør en SQL-spørring for SQL Azure måldatabasen som søker etter poster i tabellen DeleteLog. Hvis det finnes én eller flere poster angir tabellen at det finnes slettede poster.

  3. Hvis det finnes én eller flere oppføringer i tabellen DeleteLog, oppretter og kjører du en SQL-spørring som finner miljøer der oppførings-ID-en for en oppføring som finnes i tabellen DeleteLog, samsvarer med oppførings-ID-en for en oppføring i en EntityName-tabell og versionNumber i deleteLog er større enn versionNumber i oppføringen i EntityName-tabellen. Når det oppstår en ID-samsvar, kan du slette posten fra tabellen EntityName. Hvis en post-ID i kolonnen AccountId i DeleteLog-tabellen samsvarer med en post-ID i AccountId-kolonnen i enhetstabellen for AccountBase, og versionNumber i DeleteLog er større enn versionNumber i Account-tabellen, sletter du oppføringen fra enhetstabellen AccountBase.

    Viktig

    Avhengig av dine forretningsbehov og krav, anbefaler vi at du kjører SQL-spørringene for postsletting ofte, men utenom arbeidstiden.

    Eksempelspørring for enhetsoppføringsletting.

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)

Enheter som ikke støtter dataeksport

Enhetene som er oppført her, støttes ikke for dataeksport ved hjelp av Dataeksporttjeneste, selv om de støtter endringssporing.

Entity Tabellnavn Omgåelse av problem
Aktivitet ActivityPointerBase Velg de bestemte aktivitetsentiteter for eksport, for eksempel telefonsamtale, avtale, e-post og aktivitet.

Kan ikke opprette en rad som er større enn tillatt maksimal radstørrelse (8 000)

Hvis feilloggene viser Kan ikke opprette en rad med størrelsen (størrelse) som er større enn tillatt maksimal radstørrelse på 8 060, møter du et problem der du overskrider grensen for maksimal tillatt radstørrelse. Dataeksporttjenesten støtter ikke radstørrelse på mer enn den maksimalt tillatte radstørrelsen på 8 000. Hvis du vil løse dette, må du sørge for at du overholder grensene for radstørrelse.

Lengden på strengen i kilden er lengre enn målskjemaet for ColumnName

Hvis feilloggene viser Strenglengde i kilde lengre enn målskjema for [ColumnName, MaxDataLength], møter du et problem der strenglengden på kildedataene er lengre enn målet. Hvis strenglengde på kildedataene er lengre enn mål, vil skriving til mål mislykkes. Du kan løse problemet ved å redusere størrelsen på data eller øke lengden på kolonne, større enn MaxLength manuelt i databasen.

Ingen støtte for vedlegg

Eksport av vedlegg, for eksempel documentbody i Merknad-tabellen, støttes ikke.

Personvernerklæring

Ved å bruke dataeksporttjenesten når du aktiverer en dataeksportprofil i Dynamics 365, sendes dataene for enhetene som legges til i profilen til Azure. Den første synkroniseringen inkluderer alle dataene som er knyttet til enhetene som legges til i eksportprofilen, men etterpå inkluderer synkroniseringen bare nye endringer, som sendes til dataeksporttjenesten kontinuerlig. Data som sendes til dataeksporttjenesten, lagres midlertidig i Azure Service Bus og Azure Storage, behandles i Azure Service Fabric, og synkroniseres til slutt (settes inn, oppdateres eller slettes) i måldatabasen som er angitt i Azure-abonnementet. Når dataene er synkronisert, slettes de fra Azure Service Bus og Azure Storage. Hvis det oppstår en feil under datasynkroniseringen, lagres det minimale data knyttet til enhetstype, post-ID og tidsstempel for synkronisering i Azure Storage for å tillate nedlasting av en liste med poster som ikke ble oppdatert.

En administrator kan deaktivere dataeksportprofilen når som helst for å stoppe datasynkronisering. I tillegg kan en administrator slette eksportprofilen for å fjerne alle mislykkede postlogger, og kan avinstallere løsningen for dataeksporttjeneste for å slutte å bruke den.

Datasynkroniseringen skjer fortløpende mellom Dynamics 365 og dataeksporttjenesten på en sikker måte. Dataene krypteres siden de utveksles fortløpende mellom Dynamics 365 og dataeksporttjenesten.

Azure-komponenter og -tjenester som er involvert i dataeksporttjenesten, er beskrevet i avsnittene nedenfor.

Microsoft Azure Klareringssenter

Azure Service Fabric

Dette inneholder API-en og Azure VM-er for beregning som skal brukes til å behandle varsler for synkronisering av poster som mottas fra Dynamics 365, og deretter behandle dem for å sette inn, oppdatere eller slette postdata i måldatabasen. Mikrotjenester som distribueres på virtuelle maskiner styrt av kjøretiden for Azure Service Fabric, håndterer alle beregningstjenester som er relatert til datasynkronisering.

Azure Service Bus

Dette inneholder meldingsbussen hvor Dynamics 365 setter inn synkroniseringsvarslene som skal behandles av beregningsnoder i Azure Service Fabric. Hver enkelt melding lagrer informasjon, for eksempel organisasjons-ID og post som det skal synkroniseres data for. Data i Azure Service Bus krypteres og er bare tilgjengelige via dataeksporttjenesten.

Azure Blob Storage

Dataene lagres midlertidig i Azure Blob Storage, i tilfelle dataene i synkroniseringsvarselet for post er for store til å lagres i en melding, eller at det blir oppdaget en midlertidig feil ved behandling av synkroniseringsvarselet. Disse blobene krypteres ved å bruke den nyeste funksjonen i Azure Storage SDK, som gir symmetrisk og asymmetrisk krypteringsstøtte og integrering med Azure Key Vault.

Azure SQL

Azure SQL Database lagrer konfigurasjonen av dataeksportprofil og metrikkverdier for datasynkronisering.

Se også

Oversikt over Relasjoner for enheter
Dataeksport-tjeneste
Teamblogg: Innføring i dataeksport