Flerfaldiga data till en Microsoft Azure SQL-databas med tjänsten för dataexport

Kommentar

Från november 2021 blev tjänsten Data Export inaktuell. Dataexporttjänsten fortsätter att fungera och får fullt stöd tills den har slut på support och livscykeln i november 2022. Mer information: https://aka.ms/DESDeprecationBlog

Dataexporttjänst är en tilläggstjänst som är tillgänglig på Microsoft AppSource som ger möjlighet att replikera data från Microsoft Dataverse databas till Azure SQL Database-butik i en kundägd Azure-prenumeration. Mål för mål som stöds är Azure SQL Database och SQL Server på virtuella Azure-datorer. Dataexporttjänst synkroniserar intelligent hela data initialt och därefter synkroniseras den kontinuerligt när ändringar görs (deltaändringar) i systemet. Detta ger flera analys- och rapporteringsscenarier över data med Azure-data och analystjänster, samt öppnar nya möjligheter för kunder och partners att skapa anpassade lösningar.

Kommentar

Det uppmuntras starkt att du exporterar din Dataverse data till Azure Synapse Analytics och/eller Azure Data Lake Gen 2 med Azure Synapse Link for Dataverse. Mer information: påskynda tiden till insikt för att få överblick med Azure Synapse Link for Dataverse

Du kan använda dataexporttjänst med kundengagemang (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing och Dynamics 365 Project Service Automation), finns nu att tillgå som en tjänst i datacentren i Japan.

För information om programmässigt gränssnitt för att hantera konfiguration och administration av Dataexporttjänst, se Dataexporttjänst i utvecklarguiden.

Förutsättningar för att använda Dataexporttjänst

För att börja använda Dataexporttjänst krävs följande förutsättningar.

Azure SQL Database-tjänst

  • En kundägd Azure SQL Database-prenumeration. Den här prenumerationen måste tillåta mängden data som synkroniseras.

  • Inställningar för brandväggen. Vi rekommenderar att du stänger av Tillåt åtkomst till Azure-tjänster och anger rätt klient-IP-adresser som anges i det här avsnittet. Mer information: Azure SQL-databasens statiska IP-adresser som används av Dataexporttjänsten

    Alternativt kan du aktivera Tillåt åtkomst till Azure-tjänster för att tillåta åtkomst till alla Azure-tjänster.

    För SQL Server på Azure VM, bör alternativet "Ansluta till SQL Server över Internet" aktiveras. Mer information: Azure: Anslut till en virtuell SQL Server-dator på Azure

    Konfigurera dessutom brandväggsreglerna så att kommunikation mellan dataexporttjänsten och SQL Server tillåts.

  • Databasanvändaren måste ha behörighet på databas- och schemanivå enligt följande tabeller. Databasanvändaren används i anslutningssträngen för dataexport.

    Databasbehörigheter krävs.

    Typkod för behörighet Behörighetens namn
    CRTB SKAPA TABELL
    CRTY SKAPA TYP
    CRVW SKAPA VY
    CRPR SKAPA PROCESS
    ALUS ÄNDRA ALLA ANVÄNDARE
    VWDS VISA DATABASENS TILLSTÅND

    Schemabehörigheter krävs.

    Typkod för behörighet Behörighetens namn
    AL ÄNDRA
    IN INFOGA
    DL RADERA
    SL VÄLJ
    UP UPPDATERA
    EX KÖR
    RF REFERENSER

Azure Key Vault-tjänst

  • Kundägd Key Vault-prenumeration som används för att säkert underhålla anslutningssträngen för databasen.

  • Bevilja PermissionsToSecrets behörighet till programmet med ID "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf." Detta kan slutföras genom att köra AzurePowerShell-kommandot nedan och används för att komma åt nyckelvalvet som innehåller anslutningssträngens hemlighet. Mer information: Så här ställer du in Azure Key Vault

  • Hemligheter i Key Vault ska märkas med organisationen (OrgId) och klientorganisations-ID (TenantId). Detta kan utföras genom att köra AzurePowerShell-kommandot nedan. Mer information: Så här ställer du in Azure Key Vault

  • Konfigurera dessutom brandväggsreglerna så att kommunikation mellan dataexporttjänsten och Azure Key Vault tillåts.

Program för kundengagemang

  • Version 9.0 eller senare.

  • Lösningen dataexporttjänst måste installeras.

    • Gå till Inställningar>Microsoft Appsource> sök eller bläddra till Microsoft Dynamics 365 – Dataexporttjänst och välj sedan Skaffa den nu.
    • Du kan också hitta det Microsoft AppSource.
  • De entiteter som kommer att läggas till i exportprofilen måste vara aktiverade med ändringsspårning. För att säkerställa att en standardentitet eller anpassad entitet kan synkroniseras, gå till Anpassning>Anpassa systemet och klicka sedan på entiteten. På fliken Allmänt kontrollerar du att alternativet Ändringsspårning under avsnittet Datatjänster är aktiverad.

  • Du måste ha säkerhetsrollen Systemadministratör i miljön.

Webbläsare

Aktivera popup-fönster för domänen https://discovery.crmreplication.azure.net/ i webbläsaren. Detta krävs för automatisk inloggning när du ska navigera till Inställningar > Dataexport.

Tjänster, behörigheter och privilegier som krävs

För att använda Dataexporttjänst-funktionen, måste du ha följande tjänster, behörigheter och privilegier.

  • En prenumeration. Endast användare som är tilldelade säkerhetsrollen Systemadministratör kan ställa in eller ändra en exportprofil.

  • Azure-prenumeration som inkluderar följande tjänster.

    • Azure SQL Database eller AzureSQL Server på virtuella Azure-datorer.

    • Azure Key Vault.

Viktigt!

För att använda Dataexporttjänst måste appar för kundengagemang och Azure Key Vault-tjänsterna fungera under samma klientorganisation och inom samma Microsoft Entra ID. Mer information: Azure-integration med Microsoft 365

Tjänsten Azure SQL Database kan vara i samma eller en annan klientorganisation som tjänsten.

Vad du bör veta innan du använder Dataexporttjänsten

  • Exportera profiler måste tas bort och sedan återskapas när du utför någon av följande åtgärder på en miljö.

    • Återställa en miljö.
    • Kopiera (fullständig eller minimalt) en miljö.
    • Återställ en miljö.
    • Flytta en miljö till ett annat land eller region.

    Det gör du genom att ta bort exportprofilen i vyn EXPORTERA PROFILER, sedan ta bort tabeller och lagrade procedurer och därefter skapa en ny profil. Mer information: Hur du tar bort alla tabeller för Dataexportprofil och lagrade procedurer

  • Dataexporttjänst fungerar inte för produktioner i sandbox-miljö eller produktionsmiljöer som konfigurerats med Aktivera administrationsläge aktiverat. Mer information: Administrationsläget.

  • Dataexporttjänst påverkar inte (tar bort) tillhörande tabeller, kolumner eller lagrade procedurobjekt i mål-Azure SQL-databasen när följande åtgärder vidtas.

Exportprofile

För att exportera data från program för kundengagemang, skapar administratören en Exportprofil. Flera profiler kan skapas och aktiveras om du vill synkronisera data till olika måldatabaser samtidigt.

Exportprofilen är det viktigaste begreppet i Dataexporttjänst. Exportprofilen samlar in inställnings- och konfigurationsinformation för att synkronisera data med måldatabasen. Som en del av Exportprofilen tillhandahåller administratören en lista över enheter som ska exporteras till måldatabasen. En gång aktiverad startar Exportprofilen den automatiska synkroniseringen av data. Till en början exporteras alla data som motsvarar varje vald entitet. Därefter synkroniseras endast ändringar av data som de förekommer i entitetsposter eller metadata i program för kundengagemang kontinuerligt med hjälp av en utskicksmekanism i nära realtid. Därför behöver du inte ställa in ett schema för att hämta data från program för kundengagemang.

Endast entiteter som har ändringsspårningar aktiverat kan läggas till i Exportprofilen. Observera att de flesta av standardentiteter som samlar in data har ändringsspårningar aktiverat. Anpassade entiteter måste aktiveras explicit för ändringsspårningar innan du kan lägga till dem i en Exportprofil. Mer information: Aktivera spårning av ändringar för att styra datasynkronisering

Dataexporttjänst har både metadata- och datasynkronisering. Varje entitet översätts till en tabell och varje fält översätts till en kolumn i måldatabastabellen. Tabell- och kolumnnamn använder schemanamnet för metadata.

En gång aktiverad samlar Exportprofilen in statistik för datasynkronisering som bidrar till operativ synlighet och diagnostik av exporterad data.

Datasynkronisering finns tillgänglig med en Exportprofil

Kategori Funktion Datatyper som stöds
Initial synkronisering Metadata – grundläggande datatyper Datatyperna heltal, flyttalsnummer, decimaltal, enskild textrad, flerradig text, datum och tid.
Initial synkronisering Metadata – avancerade datatyper Valuta, PartyList, alternativuppsättning, status, statusorsak, sökning (inklusive uppslagstypen Kund och Ämne). PartyList är endast tillgänglig för exportversion 8.1 och senare.
Initial synkronisering Data – grundläggande datatyper Alla grundläggande datatyper
Initial synkronisering Data – avancerade datatyper Alla avancerade datatyper.
Deltasynkronisering Ändra Schema – grundläggande typer Lägg till eller ändra fältändring, alla grundläggande datatyper.
Deltasynkronisering Ändra Schema – avancerade typer Lägg till eller ändra fältändring, alla avancerade datatyper.
Deltasynkronisering Ändra data – grundläggande typer Alla grundläggande datatyper
Deltasynkronisering Ändra data – avancerade datatyper Alla avancerade datatyper, t. ex PartyList.

Skapa en Exportprofil

Se till att följande krav är uppfyllda innan du skapar en Exportprofil.

  • Lösningen dataexporttjänst installeras i miljön.

  • Underhåll SQL-databasens anslutningssträng i Key Vault och kopiera URL-adressen för Key Vault för att visa den i Exportprofilen. Mer information: Azure: Komma igång med Azure Key Vault

  • De entiteter som ska att läggas till i Exportprofilen aktiveras för ändringsspårning. Mer information: Aktivera spårning av ändringar för att styra datasynkronisering

  • Din SQL-databas har tillräckligt med ledigt minne för att lagra data.

  • Du är Systemadministratör i miljön.

  1. Gå till Inställningar>Dataexport.

  2. Granska meddelandet och klicka på Fortsätt eller Avbryt om du vill exportera data.

  3. Klicka på Ny för att skapa en ny Exportprofil.

  4. I steget Egenskaper anger du följande information och klickar sedan på Nästa för att fortsätta utan att ansluta till Key Vault. Genom att klicka på Validera används den Key Vault-URL som du tillhandahöll för att ansluta till Key Vault.

    • Namn. Unikt namn på profilen. Fältet är obligatoriskt.

    • Anslutningens Key Vault-URL. Key Vault-URL som pekar på den anslutningssträng som lagras med autentiseringsuppgifterna som används för att ansluta till måldatabasen. Fältet är obligatoriskt. Mer information: Så här ställer du in Azure Key Vault

      Viktigt!

      Anslutningens Key Vault-URL är skiftlägeskänslig. Ange anslutningens Key Vault-URL exakt som den visas när du kör Windows PowerShell-kommandon i detta avsnitt.

    • Schema. Namnet för ett alternativt databasschema. Endast alfanumeriska tecken är giltiga. Det här fältet är valfritt. Som standard är dbo det schema som används för målets SQL-databas.

    • Prefix. Prefix som ska användas för tabellnamn skapas i måldatabasen. Detta hjälper dig att identifiera tabeller som skapats för Exportprofilen i måldatabasen. När det anges, kontrollera att prefixet är mindre än 15 tecken. Det här fältet är valfritt och endast alfanumeriska tecken är tillåtna.

    • Antal nya försök. Antalet gånger som en post vid ett fel att infoga eller uppdatera i måltabellen försöker igen. Fältet är obligatoriskt. Godtagbara värden är 0-20 och standardvärdet är 12.

    • Försöksintervall. Antal sekunder att vänta innan ett nytt försök vid ett fel. Fältet är obligatoriskt. Godtagbara värden är 0-3 600 och standardvärdet är 5.

    • Skriv borttagningslogg. Valfri inställning för loggning av borttagna poster.

    Fliken Egenskaper i dialogrutan Skapa exportprofil.

  5. I steget Välj entiteter väljer du de entiteter som du vill exportera till målets SQL-databas och klickar sedan på Nästa.

    Välj fliken Entiteter i dialogrutan Skapa exportprofil.

  6. I steget Välj relationer kan du synkronisera relationerna M:N (många till många) relationer som är befintliga med de entiteter som du valde i föregående steg. Välj Nästa.

    Skapa exportprofil – Hantera relationer – Välj relationer.

  7. I steget Sammanfattning klickar du på Skapa och aktivera för att skapa profilposten och ansluta till Key Vault, vilket startar synkroniseringsprocessen. Annars klickar du på Skapa för att spara Exportprofilen och aktivera senare.

    Fliken Sammanfattning i dialogrutan Skapa exportprofil.

Ändra en befintlig exportprofil

Du kan lägga till eller ta bort entiteter och relationer i en befintlig Exportprofil som du vill replikera.

  1. Gå till Inställningar>Dataexport.

  2. I vyn Alla dataexportprofiler väljer du den Exportprofil som du vill ändra.

    Välj en Exportprofil.

  3. På Verktygsfältet Åtgärder klickar du på HANTERA ENTITETER för att lägga till eller ta bort entiteter för dataexport. Om du vill lägga till eller ta bort relationer mellan entiteter klickar du på HANTERA RELATIONER.

    Hantera entiteter eller entitetsrelationer.

  4. Välj entiteter eller entitetsrelationer som ska läggas till eller tas bort.

    Välj entiteter eller entitetsrelationer som ska läggas till eller tas bort.

  5. Klicka på Uppdatera för att skicka ändringarna till Exportprofilen.

Viktigt!

När du tar bort en entitet eller en entitetsrelation från en Exportprofil släpps inte motsvarande tabell i måldatabasen. Innan du återigen kan lägga till en entitet som har tagits bort, måste du släppa motsvarande tabell i måldatabasen. Om du vill släppa en entitetstabell, se Hur du tar bort tabeller för Dataexportprofil och lagrade procedurer för en specifik entitet.

Tabellinformation för SQL Azure-måldatabasen

Dataexporttjänst skapar tabeller för både data och metadata. En tabell skapas för varje entitet och M:N-relation som synkroniseras.

När en Exportprofil är aktiverad skapas dessa tabeller i måldatabasen. Dessa är systemtabeller och kommer inte att ha fälten SinkCreatedTime och SinkModifiedTime tillagda.

Tabellnamn Skapades
<Prefix>_GlobalOptionsetMetadata Vid aktivering avexportprofil
<Prefix>_OptionsetMetadata Vid aktivering avexportprofil
<Prefix>_StateMetadata Vid aktivering avexportprofil
<Prefix>_StatusMetadata Vid aktivering avexportprofil
<Prefix>_TargetMetadata Vid aktivering avexportprofil
<Prefix>_AttributeMetadata Vid aktivering avexportprofil
<Prefix>_DeleteLog Vid aktivering av exportprofil när alternativet för att ta bort loggen är aktiverat.

Lösa synkroniseringsproblem

Trots flera omförsök kan postsynkroniseringsfel uppstå på grund av databaslagringsbegränsningar eller tabellåsning på grund av tidskrävande frågor. Du kan tvinga en omsynkroniseringen av endast felaktiga poster eller en omsynkronisering av alla poster för att lösa dessa problem.

  1. Visa dina exportprofiler för att söka efter en som har postsynkroniseringsfel. Du gör detta genom att visa dataprofiler i synkroniseringsområdet eller genom att öppna en Exportprofil som den här profilen som har ett synkroniseringsfel för kontaktentitetspost.

    DataExport_failed_records_exist.

  2. Först undersöker du källan till synkroniseringsfelet och löser det. More information: Hantering och övervakning

  3. Synkronisera om de felaktiga posterna efter att problemet har lösts.

    Kommentar

    Synkronisering av misslyckade poster är en funktion i en offentlig förhandsversion.

    • Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. Funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.
      • Vi väntar oss ändringar för den här funktionen, så använd den inte i produktion. Använd den endast i test- och utvecklingsmiljöer.
      • Microsoft tillhandahåller inte support för den här förhandsversionsfunktionen. Teknisk support för Microsoft Dynamics 365 kan inte hjälpa dig med problem eller frågor. Förhandsversionsfunktioner är inte avsedda för produktionsanvändning och omfattas av separata kompletterande användningsvillkor.
    1. Logga in på din miljö och gå till Inställningar>Dataexport.

    2. Öppna den Exportprofil som innehåller postsynkroniseringsfel.

    3. På verktygsfältet Exportprofil, klicka på OMSYNKRONISERING AV MISSLYCKADE POSTER.

    4. Klicka på OK vid lyckad omsynkroniseringen av felaktiga poster i dialogrutan för bekräftelse.

    Avisering om en lyckad omsynkronisering.

    1. Kontrollera att Exportprofilen inte innehåller meddelanden om felaktiga poster genom att öppna dataexportprofilen och visa räknaren för Misslyckade aviseringar på fliken EGENSKAPER OCH ÖVERSIKT som bör vara 0. Klicka på UPPDATERA på Exportprofilen för att se till att värdet för Misslyckade aviseringar är aktuellt.

    Inga poster misslyckades – indikation.

  4. Om postsynkroniseringsfel kvarstår när du försöker synkronisera på nytt genom att följa de här stegen, kontakt Microsofts kundsupporttjänster.

Hantering och övervakning

För att visa synkroniseringsstatus för en Exportprofil, gå till Inställningar>Dataexport och öppna Exportprofilen. På fliken ENTITETER visas synkroniseringsstatus med en kolumn för Misslyckade poster för poster som inte kunde synkroniseras. För alla misslyckade poster kan en lista över dessa poster inklusive statusorsak hämtas genom att klicka på MISSLYCKADE POSTER i kommandofältet.

Exportera profilkommandofältet – knappen misslyckade poster.

I Exportprofilen kan du klicka på EGENSKAPER OCH ÖVERSIKT för att visa egenskaper för profilen. Klicka på RELATIONER för att visa synkroniseringsstatus för relationer.

Så här visar du detaljerad information om de poster som inte gick att synkronisera

Genom att visa misslyckade postloggar kan du få hjälp att fastställa orsaken till synkroniseringsfel. Om du vill visa misslyckade poster i målets Azure-måldatabas använder du den kostnadsfria programmet Azure Storage Explorer som göra att du enkelt kan arbeta med Azure Storage-data. Mer information: Azure Storage Explorer.

  1. Gå till Inställningar>Dataexport.

  2. I vyn Alla dataexportprofiler väljer du den exportprofil som har misslyckade meddelanden.

    Misslyckade aviseringar.

  3. På verktygsfältet Åtgärder klickar du på FELAKTIGA POSTER.

    Verktygsfältsknapp för Misslyckade poster.

  4. I dialogrutan Hämta felaktiga poster klickar du på Kopiera blob-URL, och klickar sedan på Ok.

    Dialogrutan Hämta misslyckade poster.

    Kommentar

    Blob-URL är giltig i upp till 24 timmar. Om webbadressen överskrider 24 timmar, upprepar du stegen ovan om du vill generera en ny blob-URL.

  5. Starta Azure Storage Explorer.

  6. I Azure Storage Explorer klickar du på Anslut till Azure Storage.

  7. Klistra in URL-adressen från Urklipp till rutan Anslut till Azure Storage och klicka sedan på nästa.

    Lagringswebbadress.

  8. På sidan för anslutningssammanfattning klickar du på Anslut.

  9. Azure Storage Explorer ansluter till måldatabasen. Om det finns felaktiga poster för Exportprofil visar Azure Storage Explorer mappar med misslyckade postsynkroniseringar.

Så här visar du detaljerad information om de poster som inte gick att synkronisera (förhandsgranskning)

Nu kan du hämta misslyckade posterna direkt från användargränssnittet Dataexporttjänst. Den här funktionen är för närvarande i förhandsgranskning och kan vara bra att testa och ge feedback.

Steg för att hämta misslyckade poster:

  1. Identifiera profilen med misslyckade poster.

    Dataexportprofil.

  2. Välj profilen och ange Det gick inte att hämta poster (förhandsgranskning) från det övre menyfältet.

    Ladda ned misslyckade poster (förhandsgranskning).

  3. I dialogrutan Hämta misslyckade poster visas en sorterad lista med de senaste 20 (max) blob-filerna. Markera den du vill hämta och välj sedan OK.

    Hämta misslyckade poster.

  4. När du har hämtat, öppnar du filen i en textredigerare (till exempel Anteckningar) och visar information om fel.

    Exempelfelloggen.

Mappstruktur och loggfiler för misslyckade postsynkroniseringar

Azure Blob-lagringens URL för misslyckade poster pekar på en plats som har följande mappstruktur:

  • data. Den här mappen innehåller misslyckade dataaviseringar och tillhörande JSON för postdata.

  • metadata. Den här mappen innehåller misslyckade metadataaviseringar och tillhörande JSON för metadata.

  • failurelog. Den här mappen innehåller loggar som ger information om synkroniseringsfelet och orsaken till varför felet inträffade.

  • forcerefreshfailurelog. Den här mappen innehåller fel från den senaste körningen av det Dataexporttjänst-kommando för misslyckade poster som användes för att synkronisera om misslyckade poster.

  • unprocessablemessages. Den här mappen innehåller dataaviseringar som inte bearbetades på grund av borttagning av data eller metadata och tillhörande JSON.

    Mprogrammen failurelog och forcerefreshfailurelog är strukturerade i År\Månad\Dag\Timme så att du snabbt kan hitta de senaste felen. Alla felposter som är äldre än 30 dagar tas bort.

    Här är ett exempel loggfil som betyder att postsynkronisering entiteten Kontakt.

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.  

Vanliga orsaker till postsynkroniseringsfel

Här följer några orsaker till varför postsynkroniseringsfel kan uppstå.

  • Otillräckligt lagringsutrymme för måldatabasen. Innan du försöker synkronisera om misslyckade poster, öka eller frigör Azure SQL Database-lagring efter behov. När problemet uppstår, registreras ett meddelande liknande detta till felloggen.

    Databasen "databasnamn" har nått kvotgränsen. Partition eller ta bort data, ta bort index eller se dokumentationen för möjliga lösningar.

  • Tidsgräns för synkronisering med Azure SQL Database. Detta kan inträffa under den inledande synkroniseringen av en dataexportprofil när stora mängder data bearbetas på en gång. När problemet uppstår kan du synkronisera om de misslyckade posterna. Lösa synkroniseringsproblem

Bästa metoder när du använder Azure SQL Database med dataexport

  • Om du vill undvika problem med synkronisering på grund av resursbegränsning rekommenderar vi att du har en Azure SQL Database Premium P1 eller bättre plan när du använder dataexporttjänst. Mer information: Azure SQL Database-resursgränser och SQL Database-prissättning

  • Ange Azure SQL Database till att använda RCSI (Read Committed Snapshot Isolation) för arbetsbelastningar som körs samtidigt på måldatabasen som köra långvariga läsa-frågor, till exempel rapportering och ETL-jobb. Detta minskar förekomsten av tidsgränsfel som kan uppstå med Dataexporttjänst på grund av läs\skriv-konflikter.

  • För att förbättra prestanda rekommenderas Dataexporttjänst-databasens högsta grad av parallellitet (MAXDOP) anges till 1. Mer information: MSDN: alternativ för Server-minnet

  • Ofta utvärdera fragmenteringen och om du behöver återskapa index i den dataexporttjänst-databasen. Mer information: omorganisera och återskapa index

  • Uppdatera databasstatistik om tabeller och indexerade vyer i den dataexporttjänst-databasen. Mer information: Uppdaterar statistiken

  • Övervaka hur databasen för dataexporttjänst används. Mer information: övervakning av prestanda

Om svarstid för synkronisering av data

Dataexporttjänst har utformats för att synkronisera dataändringar i måldatabasen med hjälp av en metod som lyssnar på ändringarna i takt med att de utförs i program för kundengagemang. Tjänsten strävar efter att skicka data inom några minuter, men det finns ett antal faktorer som kan påverka svarstiden för slutpunkt till slutpunkt-synkronisering.

Faktorer som påverkar synkroniseringstiden inkluderar följande:

  • Aktuell arbetsbelastning på program för kundengagemang.
  • Data ändringsfrekvensen i program för kundengagemang.
  • Antalet entiteter som har lagts till i respektive exportprofil och dessas attribut.
  • SQL-serverprestandan. Till exempel:
    • Konfigurationstiden för SQL-anslutningen.
    • Körtiden för SQL-satsen.

Baserat på vår övervakning av tjänsten har det noteras att de flesta pågående deltasynkroniseringar slutar inom 15 minuter när tjänsten körs under följande villkor:

  • Synkroniseringen som uppstår är en deltasynkronisering och inte den första synkroniseringen. Deltasynkroniseringen är endast avsedd för ändring av data som innehåller skapande-, uppdaterings- och borttagningstransaktioner för post. Observera att deltasynkroniseringen påbörjas när den första synkroniseringen är klar.
  • Maximal dataändringshastighet i program för kundengagemang för samtliga entiteter i exportprofilen understiger 3 000 poster per timme. En oväntad ökning av dataändringshastigheten på grund av att en massändring av poster som överstiger den maximala ändringshastigheten förorsakar ytterligare svarstid.
  • Varje entitet som läggs till i en exportprofil har mindre än 150 attribut.
  • Databasanslutningen eller körningen av SQL-satsen avslutas på mindre än 10 sekunder. Om denna gräns överskrids leder detta till ytterligare svarstid.
  • Ingen anslutning till destinationsdatabas eller SQL-körningsfel sker i samband med synkronisering.

När villkoren ovan uppfylls är 15 minuter en normal svarstid för synkronisering. Microsoft tillhandahåller inget servicenivåavtal (SLA) för dataexporttjänst och ger inga garantier eller åtaganden om svarstider för synkronisering.

Så här ställer du in Azure Key Vault

Kör Windows PowerShell-skriptet som beskrivs här som en Azure-kontoadministratör för att ge behörighet till dataexporttjänst-funktionen så att den kan komma åt din Azure Key Vault. Skriptet visar den key vault-URL som krävs för att skapa den Exportprofilen som används för åtkomst till anslutningssträngen.

Innan du kör skriptet måste du ersätta platshållarna för följande variabler.

  • $subscriptionId. Key Vault-resursgruppen som du vill använda. Om gruppen inte redan finns skapas en ny fil med det namn du anger. I det här exemplet används ContosoResourceGroup1.

  • $location. Ange platsen där resursgruppen är eller bör vara placerad som till exempel Västra USA.

  • $connectionString. Anslutningssträngen som ska Azure SQL Database. Du kan använda anslutningssträngen ADO.NET som visas i din Azure-instrumentpanel.

  • $organizationIdList = kommaavgränsad lista över tillåtna organisationer, som anges av organisations-ID (organizationId) att aktivera för dataexporttjänst. För att hitta en organisations ID gå till Inställningar>Anpassningar>Utvecklingsresurser. Organisations-ID finns under Miljöreferensinformation.

  • $tenantId. Anger Azure Active Directory klientorganisations-ID som Key Vault-prenumerationen tillhör.

Viktigt!

En Azure-prenumeration kan ha flera Azure Active Directory klientorganisations-ID. Kontrollera att du väljer rätt Azure Active Directory för klientorganisation som är associerat med den miljö som ska användas för dataexport.

Kommentar

Se till att det användar-ID som hänvisas till i $connectionString har lämplig behörighet till Azure SQL-måldatabasen.

# -------------------------------------------------------------------------------- #
    #  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å här tar du bort alla tabeller för Dataexportprofil och lagrade procedurer

Viktigt!

Innan du kör SQL, kontrollera att du har korrekt definierade värden @prefix och @schema värden i uttalandet. Exportprofilen måste skapas igen när du har kört det här SQL-uttrycket.

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

Hur du tar bort tabeller för Dataexportprofil och lagrade procedurer för en specifik entitet

Viktigt!

Innan du kör SQL, kontrollera att du har korrekt definierade värden @prefix, @schema och @entityName värden i uttalandet. I det här exemplet tas tabellen för Lead-entiteten, typer och lagrade procedurer bort.

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

Avinstallera tjänst för dataexport från administration Power Platform

  1. Navigera till avancerat inställningar.
  2. Välj Inställningar > Anpassningar och välj sedan Lösningar.
  3. Välj DataExportService som publicerats av Microsoft Dynamics 365 och välj sedan Ta bort.

Sök efter Microsoft Entra-ID för din klientorganisation

  1. Logga in på Azure-portal.
  2. Under Azure-tjänster väljer du Egenskaper för klientorganisation.
  3. Välj värdet i fältet KLIENTORGANISATIONS-ID.

Azure SQL-databasens statiska IP-adresser som används av Dataexporttjänsten

I Azure SQL Database, välj Ställ in brandvägg för server, aktivera Tillåt åtkomst till Azure-tjänsten till AV, välj Lägg till klient-IP och lägg sedan till de IP-adresser som är lämpliga för regionen i din miljö. Mer information: Azure: Konfigurera en brandväggsregel på servernivå för Azure SQL-databas med hjälp av Azure Portal

Region Ny IP-adress Gammal IP-adress
Västra USA 20.245.127.60 13.64.148.9
USA, östra 172.174.41.63 20.228.153.81
Asien, östra 20.239.192.9 104.208.84.217
Sydostasien 20.24.15.60 20.205.153.14
Indien, centrala 20.219.158.75 20.198.113.107
Södra Indien 52.140.54.95 104.211.204.18
Västeuropa 20.126.43.104 40.68.244.253
Europa, norra 20.166.94.137 20.238.83.32
Västra Japan Ingen ändring 104.214.144.93
Japan, östra 52.253.104.175 20.89.138.246
Brasilien, södra 4.228.211.102 20.197.186.17
Sydöstra Australien Ingen ändring 20.70.112.80
Australien, östra 20.5.88.96 20.213.58.3
Kanada, centrala 20.220.227.230 20.151.173.107
Östra Kanada 40.86.216.207 52.229.109.91
Västra Storbritannien 51.142.173.150 20.68.113.18
Södra Storbritannien 20.117.159.198 20.117.89.184

Kommentar

Kunder i Nordamerika ska lägga till IP-adresser i en godkänd lista för både östra USA och västra USA.

För att förhindra avbrott i datasynkroniseringen bör kunderna behålla den nya IP-adressen och den gamla IP-adressen.

Kända problem

Borttagna poster kan återinföras i entitetstabellen efter ett synkroniseringsfel

När du återställer från synkroniseringsfel kan poster som tidigare tagits bort återställas till källtabellen för entiteten. Gör följande om du vill undvika det här problemet när synkroniseringsfel uppstår.

  1. Skapa exportprofiler som är Skriv borttagningslogg-aktiverade. Skapa om befintliga exportprofiler som inte har Skriv borttagningslogg aktiverat.

  2. Skapa och kör en SQL-fråga för Azure SQL-måldatabasen som söker efter poster i tabellen DeleteLog. Om en eller flera poster hittas anger den att det finns borttagna poster.

  3. Om det finns en eller flera poster i tabellen DeleteLog, skapa och kör en SQL-fråga som identifierar miljöer där post-ID för en post som hittas i DeleteLog matchar post-ID för en post i en EntityName-tabell och versionNumber i deleteLog är större än versionNumber på posten i tabellen EntityName. När en post-ID-matchning inträffar kan du ta bort posten från EntityName-tabellen. Till exempel om ett post-ID i kolumnen AccountId i tabellen DeleteLog matchar ett post-ID i kolumnen AccountId i AccountBase-entitetstabellen och versionNumber i DeleteLog är större än versionNumber i kontotabellen tar du bort posten från AccountBase-entitetstabellen.

    Viktigt!

    Beroende på dina affärsbehov och krav rekommenderar vi att du kör SQL-frågor för postborttagning ofta, men under icke-operationella timmar.

    Exempelfråga för borttagning av entitetspost.

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)

Entiteter som inte stöder export av data

De entiteter som anges här, även om de stöder ändringsspårning, stöds inte för dataexport via dataexporttjänst.

Enhet Tabellnamn Lösning
Aktivitet ActivityPointerBase Välj de särskilda aktivitetsentiteter som ska exporteras, till exempel telefonsamtal, avtalad tid, e-post och uppgift.

Det går inte att skapa en rad som är större än den tillåtna maximala radstorleken (8K)

Om din fellogg visar ”Det går inte att skapa en rad med storlek som är större än den tillåtna maximala radstorleken på 8060”, stöter du på ett problem där du överskrider gränsen för högsta tillåtna radstorlek. Dataexporttjänsten stödjer inte radstorlek större än 8 k högsta tillåtna radstorlek. Om du vill minska detta bör du se till att följa storleksbegränsningar för raden.

Längden på strängen i källfilen är längre än destinationsschema för ColumnName

Om din fellogg visar ”stränglängden i källfilen är längre än destinationsschema för [ColumnName, MaxDataLength]" stöter du på ett problem där stränglängden för källdata är längre än destination. Om stränglängden för källdata är längre än en destination, kommer skrivning till destinationen att misslyckas. För att minska problemet, antingen minskar du storleken på data eller ökar längden på kolumnen större än MaxLength manuellt i databasen.

Inget stöd för bilagor

Det finns inte stöd för att exportera bifogade filer som documentbody i tabellen Anteckning.

Sekretesspolicy

När du använder dataexporttjänsten och aktiverar en dataexportprofil inifrån Dynamics 365 skickad data om entiteterna som har lagts till i profilen till Azure. Den initiala synkroniseringen innehåller alla data som är associerade med entiteterna som har lagts till i exportprofilen, men därefter innehåller synkroniseringen bara nya ändringar, som skickas kontinuerligt till dataexporttjänsten. Data som skickas till dataexporttjänsten lagras tillfälligt i Azure Service Bus och Azure Storage, bearbetas i Azure Service Fabric och synkroniseras (infogas, uppdateras eller tas bort) till den måldatabas som anges i din Azure-prenumeration. När data har synkroniserats tas de bort från Azure Service Bus och Azure Storage. Om fel uppstår under datasynkroniseringen lagras minimalt med data motsvarande entitetstyp, post-ID och synkroniseringstidsstämpel i Azure Storage så att det går att ladda ned en lista med poster som inte har uppdaterats.

En administratör kan när som helst inaktivera dataexportprofilen för att stoppa datasynkroniseringen. En administratör kan också ta bort exportprofilen för att avlägsna eventuella loggar med felaktiga poster och kan avinstallera tjänstlösningen för dataexport för att sluta använda dataexporttjänsten.

Datasynkronisering sker kontinuerligt mellan Dynamics 365 och dataexporttjänsten på ett säkert sätt. Data krypteras medan de utbyts kontinuerligt mellan Dynamics 365 och dataexporttjänsten.

Azure-komponenter och -tjänster för dataexporttjänsten beskrivs i följande avsnitt.

Microsoft Azure Säkerhetscenter

Azure Service Fabric

Det tillhandahåller API och beräknar virtuella Azure-datorer för att bearbeta aviseringar om postsynkronisering som tas emot från Dynamics 365 och bearbetar dem sedan för att infoga, uppdatera eller ta bort postdata i måldatabasen. Mikrotjänster som distribueras på virtuella datorer som hanteras av Azure Service Fabric runtime hanterar alla beräkningstjänster för datasynkronisering.

Azure Service Bus

Det här tillhandahåller meddelandebussen där Dynamics 365 infogar synkroniseringsaviseringarna som bearbetats av beräkningsnoder i Azure Service Fabric. Varje meddelande lagrar information som till exempel organisations-ID och -post som data ska synkroniseras för. Data i Azure Service Bus krypteras när de är vilande, och är endast tillgängliga via dataexporttjänsten.

Azure Blob Storage

Data lagras tillfälligt i Azure Blob Storage om postsynkroniseringsaviseringens data skulle vara alltför stora för att lagra i ett meddelande, eller om ett övergående fel inträffar när synkroniseringsmeddelandet bearbetas. Dessa "blobbar" krypteras genom att utnyttja den senaste funktionen Azure Storage SDK, som ger stöd för symmetrisk och asymmetrisk kryptering samt integrering med Azure Key Vault.

Azure SQL

Azure SQL Database lagrar dataexportprofilens konfiguration och datasynkroniseringsmått.

Se även

Översikt över entitetsrelationer
Dataexporttjänst
Teamblogg: Introduktion till Dataexporttjänst