Replikere data fra Microsoft Dynamics 365 (online) til Microsoft Azure SQL Database
Udgivet: februar 2017
Gælder for: Dynamics 365 (online), Dynamics CRM Online
Bemærk
Oplysningerne her er til versioner af Dynamics 365, der er tidligere end Dynamics 365 (online), version 9.0. Du kan finde den nyeste dokumentation i Repliker data til Azure SQL Database.
Microsoft Dynamics 365-Dataeksportservice er et tilføjelsesprogram, som stilles til rådighed i Microsoft AppSource, der giver mulighed for at replikere Microsoft Dynamics 365 (online)-data til et Microsoft Azure SQL Database-lager i et kundeejet Microsoft Azure-abonnement. De understøttede måldestinationerne er Microsoft Azure SQL Database og SQL Server på virtuelle Microsoft Azure-maskiner.Dataeksportservice synkroniserer på intelligent vis alle Dynamics 365-dataene først og synkroniserer derefter løbende, når der forekommer ændringer (deltaændringer), i Microsoft Dynamics 365 (online)-systemet. Dette hjælper med at aktivere flere analyse- og rapporteringsscenarier oven på Dynamics 365-data med data- og analysetjenester for Azure og åbner nye muligheder for kunder og partnere for at opbygge tilpassede løsninger.
Bemærk
Du kan bruge Dataeksportservice sammen med:
-
Microsoft Dynamics 365 (online)
-
Opdatering til Microsoft Dynamics CRM Online 2016
Du kan finde oplysninger om programmeringsgrænsefladen til styring af konfiguration og administration af Dataeksportservice under MSDN: Tjenesten Dataeksport.
Dette emne indeholder
Forudsætninger for brug af Dataeksportservice
Påkrævede tjenester, legitimationsoplysninger og rettigheder
Hvad du skal vide, før du bruger Dataeksportservice
Eksportprofil
Oprette en eksportprofil
Ændre en eksisterende eksportprofil
Tabeloplysninger om Azure SQL-destinationsdatabasen
Løse synkroniseringsproblemer
Håndtering og overvågning af fejl
Bedste fremgangsmåder, når du bruger SQL Azure Database med dataeksport
Om ventetid ved datasynkronisering
Sådan konfigureres Azure nøgle Vault
Kendte problemer og begrænsninger
Forudsætninger for brug af Dataeksportservice
Hvis du vil begynde at bruge Dataeksportservice, gælder følgende forudsætninger.
Tjenesten Azure SQL Database
Et kundeejet Azure SQL Database-abonnement. 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. Yderligere oplysninger: Microsoft Azure: Oprette forbindelse til en virtuel SQL Server-maskine på Azure (klassisk installation)
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 Azure Key Vault-abonnement, der bruges til at vedligeholde forbindelsesstrengen til databasen på sikker vis.
Give 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 nøgle Vault
Nøgleboksen skal mærkes med Microsoft Dynamics 365-organisationen (OrgId) og lejer-id'erne (TenantId). Dette kan udføres ved at køre AzurePowerShell-kommandoen nedenfor.Flere oplysninger:Sådan konfigureres Azure nøgle Vault
Microsoft Dynamics 365 (online)
En Opdatering til Microsoft Dynamics CRM Online 2016-forekomst eller en forekomst til en nyere version.
Dataeksportservice-løsningen skal være installeret. Hent den nu i Microsoft AppSource.
De objekter, der skal føjes til Eksportprofil, 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 klikke på objektet. På fanen Generelt skal du kontrollere, at indstillingen Ændringssporing i sektionen Datatjenester er aktiveret.
Du skal have sikkerhedsrollen Systemadministrator i Microsoft Dynamics 365 (online)-forekomsten.
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 Microsoft Dynamics 365 (online)-abonnement. Kun brugere, der er tildelt sikkerhedsrollen Systemadministrator i Microsoft Dynamics 365, kan oprette eller ændre en Eksportprofil.
Microsoft Azure-abonnement, der omfatter følgende tjenester.
Azure SQL Database eller AzureSQL Server på Azure virtuelle maskiner.
Azure Key Vault.
Vigtigt
For at kunne bruge Dataeksportservice skal tjenesterne Microsoft Dynamics 365 (online) og Azure Key Vault køre under samme lejer og i samme Microsoft Azure Active Directory.Flere oplysninger:Integration af Azure med Office 365
Azure SQL Database-tjenesten og Microsoft Dynamics 365 (online)-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å en Microsoft Dynamics 365 (online)-forekomst.
Gendanne en forekomst.
Kopiere (fuld eller minimal) en forekomst.
Nulstille en forekomst.
Flytte en forekomst at et andet land eller område.
Du kan gøre dette ved at slette Eksportprofil 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 Microsoft Dynamics 365 (online)-sandkasseforekomster, der er konfigureret med Aktivér administrationstilstand aktiveret.Flere oplysninger:Administrationstilstand
Dataeksportservice sletter ikke de tilknyttede tabeller, kolonner eller stored procedure-objekter i destinationen Azure SQL Database, når følgende handlinger udføres.
Et objekt slettes i Microsoft Dynamics 365 (online).
Et felt slettes i Microsoft Dynamics 365 (online).
Et objekt fjernes fra en Eksportprofil.
Disse elementer skal fjernes manuelt.Sådan slettes tabeller og stored procedures for dataeksportprofiler for et bestemt objekt
Metadatasletningsmeddelelser logføres i mappen unprocessablemessages.Håndtering og overvågning af fejl
Eksportprofil
For at eksportere data fra Microsoft Dynamics 365 (online), opretter Microsoft Dynamics 365 (online)-administratoren en Eksportprofil. Der kan oprettes og aktiveres flere profiler for at synkronisere data til en anden destinationsdatabase på samme tid.
Eksportprofil er det centrale begreb i Dataeksportservice.Eksportprofil indsamler opsætnings- og konfigurationsoplysninger for at synkronisere data med destinationsdatabasen. Som en del af Eksportprofil, leverer administratoren en liste over objekter, der skal eksporteres til destinationsdatabasen. Når Eksportprofil 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 Microsoft Dynamics 365 (online). Derfor behøver du ikke at oprette en tidsplan for hentning af data fra Microsoft Dynamics 365 (online).
Kun objekter, hvor registrering af ændringer er aktiveret, kan føjes til Eksportprofil. Bemærk, at for de fleste Microsoft Dynamics 365-standardobjekter, som registrerer data, er registrering af ændringer aktiveret. For brugerdefinerede objekter skal ændringsregistrering aktiveres direkte, før du kan føje dem til en Eksportprofil.Flere oplysninger:Aktivér 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 Microsoft Dynamics 365-metadataene.
Når Eksportprofil 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.
Dataeksportservice-løsningen er installeret i din Microsoft Dynamics 365 (online)-forekomst.
Vedligehold SQL-database-forbindelsesstrengen i Key Vault, og kopier URL-adressen for Key Vault for at levere i Eksportprofil. Yderligere oplysninger: Microsoft Azure: Introduktion til Azure Key Vault
Ændringssporing af aktiveret for de objekter, der skal føjes til Eksportprofil.Flere oplysninger:Aktivér Skift sporing for at styre datasynkronisering
Din SQL-database-tjeneste har tilstrækkelig plads til lagre Microsoft Dynamics 365-dataene.
Du er systemadministrator i Microsoft Dynamics 365 (online)-forekomsten.
Gå til Indstillinger > Dataeksport i Microsoft Dynamics 365 (online).
Gennemse meddelelsen, og klik på Fortsæt eller Annuller, hvis du ikke ønsker at eksportere data.
Klik på Ny for at oprette en ny Eksportprofil.
I trinnet Egenskaber skal du angive følgende oplysninger og derefter klikke på Næste for at fortsætte uden at oprette forbindelse til Key Vault. Når du klikker på 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 nøgle 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-database.
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 Eksportprofil 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.
I trinnet Vælg objekter skal du vælge de objekter, du vil eksportere til destinationen SQL-database og derefter klikke på Næste.
I trinnet Vælg relationer kan du synkronisere forholdet M:N (mange til mange), som findes for de objekter, du valgte i det forrige trin. Klik på Næste.
I trinnet Oversigt skal du klikke på Opret og aktivér for at oprette profilposten og oprette forbindelse til Key Vault, som starter synkroniseringsprocessen. Ellers skal du klikke på Opret for at gemme Eksportprofil og aktivere den senere.
Ændre en eksisterende eksportprofil
Du kan tilføje eller fjerne objekter og relationer i en eksisterende Eksportprofil, som du vil replikere.
Gå til Indstillinger > Dataeksport i Microsoft Dynamics 365 (online).
Vælg den ønskede Eksportprofil i visningen Alle dataeksportprofiler.
Klik på 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 klikke på Administrer relationer.
Vælg de objekter eller objektrelationer, du vil tilføje eller fjerne.
Klik på Opdater for at sende ændringerne til Eksportprofil.
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. Du kan se, hvordan du fjerner en objekttabel, under Sådan slettes tabeller og stored procedures for dataeksportprofiler for et bestemt objekt.
Tabeloplysninger om Azure SQL-destinationsdatabasen
Dataeksportservice opretter tabeller for både data og metadata. 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 |
---|---|
<Præfiks>_GlobalOptionsetMetadata |
Ved aktivering af Eksportprofil. |
<Præfiks>_OptionsetMetadata |
Ved aktivering af Eksportprofil. |
<Præfiks>_StateMetadata |
Ved aktivering af Eksportprofil. |
<Præfiks>_StatusMetadata |
Ved aktivering af Eksportprofil. |
<Præfiks>_TargetMetadata |
Ved aktivering af Eksportprofil. |
<Præfiks>_AttributeMetadata |
Ved aktivering af Eksportprofil. |
<Præfiks>_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.
Å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.
Undersøg først kilden til synkroniseringsfejlen, og løs problemet.Flere oplysninger:Håndtering og overvågning af fejl
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.
-
En eksempelvisningsfunktion er en funktion, der ikke er fuldført, men gøres tilgængelig, før den officielt frigives, så kunderne kan få tidlig adgang og give feedback. Eksempelvisningsfunktionerne er ikke beregnet til produktionsformål og kan have begrænset funktionalitet.
-
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.
Log på din Microsoft Dynamics 365 (online)-forekomst, og gå til Indstillinger > Dataeksport.
Åbn den Eksportprofil, der indeholder fejl ved synkroniseringen af poster.
Klik på Synkroniser mislykkede poster igen på værktøjslinjen Eksportprofil.
Klik på Ok, når de fejlbehæftede poster igen er synkroniseret, i bekræftelsesdialogboksen.
Kontroller, at Eksportprofil 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. Klik på Opdater på værktøjslinjen Eksportprofil for at sikre, at værdien i Mislykkede meddelelser er den aktuelle værdi.
-
Hvis der stadig er fejl i synkronisering af poster, når du har prøvet at synkronisere igen ved at følge ovenstående trin, skal du slippe tabeller, typer og stored procedures fra destinationsdatabasen og derefter fjerne objekterne fra Eksportprofil og tilføje dem igen.
Slet de tilknyttede databaseobjekter i destinations-Azure SQL Database. Hvis du f.eks. oplever vedvarende problemer med synkronisering af kundeemneobjekter, kan du fjerne kundeemnetabeller, -typer og stored procedures i destinations-Azure SQL Database.Flere oplysninger:Sådan slettes tabeller og stored procedures for dataeksportprofiler for et bestemt objekt
Fjern objektet, som f.eks. kundeemneobjektet, fra Eksportprofil.Flere oplysninger:Ændre en eksisterende eksportprofil
Føj igen objektet, f.eks. kundeemneobjektet, til Eksportprofil, og aktiver derefter profilen.
Håndtering og overvågning af fejl
Hvis du vil have vist synkroniseringsstatus for en Eksportprofil, skal du gå til Indstillinger > Dataeksport og åbne Eksportprofil. 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 klikke på MISLYKKEDES POSTER på kommandolinjen.
I Eksportprofil kan du klikke på EGENSKABER OG OVERSIGT for at vise egenskaberne for profilen. Klik på 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 Microsoft Azure Storage Explorer, en gratis enkeltstående app, så du let kan arbejde med Azure Storage-data. Yderligere oplysninger: Microsoft Azure Storage Explorer.
Gå til Indstillinger > Dataeksport i Dynamics 365.
Vælg den Eksportprofil, der har meddelelser om mislykkede poster, i visningen Alle dataeksportprofiler.
Klik på Mislykkede poster på værktøjslinjen Handlinger.
I dialogboksen Download mislykkedes poster skal du klikke på Kopiér Blob URL og derefter klikke på Ok.
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.
Start Microsoft Azure Storage Explorer.
Klik i Microsoft Azure Storage Explorer på Opret forbindelse til Azure Storage.
Indsæt URL-adressen fra Udklipsholder i feltet Opret forbindelse til Azure Storage, og klik derefter på Næste.
Klik på Opret forbindelse på forbindelsesoversigtssiden.
Azure Storage Explorer opretter forbindelse til destinationsdatabasen. Hvis der findes fejlbehæftede poster for Eksportprofil, viser Azure Storage Explorer mapper for synkronisering af mislykkede poster.
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.
Objekt: kontakt, RecordId: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, NotificationTime: 28/12/2016 12:32:39, ChangeType: opdatering, FailureReason: Databasen 'tempdb' har nået sin størrelseskvote. Partitionér eller slet data, slet indekser, eller søg i dokumentationen efter mulige løsninger. Sætningen er blevet afsluttet.
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.Flere oplysninger:Azure SQL Database-ressourcebegrænsninger 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.
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 Dynamics 365. 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 på Dynamics 365.
Hastigheden for ændring af dataene i Dynamics 365.
Antallet af objekter, der føjes til de enkelte eksportprofiler og deres attributter.
SQL Server-ydeevne. Eksempel:
Tid for oprettelse af SQL-forbindelse.
Udførelsestid for SQL-sætning.
Baseret på 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 Dynamics 365 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 nøgleoksen, 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. Abonnements-id for Azure. Abonnementets-id'et vises, når du kører kommandoen Login-AzureRmAccount.
$keyvaultName. Vælg et navn til en eksisterende eller ny Key Vault. Navnet bruges til at henvise til Key Vault. I dette eksempel bruges ContosoKeyVault. Du skal bruge dette navn til andre cmdlets for Key Vault.
$secretName. Angiv det navn, der bruges til den softwarebeskyttede nøgle til Key Vault. Hvis der ikke findes en beskyttet nøgle, oprettes den ved hjælp af det angivne hemmelige navn. I dette eksempel bruges ContosoDataExportSecret.
$resourceGroupName. Angiv navnet på den Azure-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.
$connectionString. Forbindelsesstrengen til Microsoft Azure SQL Database. Du kan bruge ADO.NET-forbindelsesstrengen, sådan som den vises på dit Azure-dashboard.
$organizationIdList = kommasepareret liste over tilladte Microsoft Dynamics 365-organisationer, der er sorteret efter organisations-id (organizationId), for at aktivere for Dataeksportservice. Hvis du vil finde en organisations id, skal du gå til Indstillinger > Tilpasninger > Udviklerressourcer i Microsoft Dynamics 365. Organisations-id'et er under Referenceoplysninger om forekomst.
$tenantId. Angiver det Azure Active Directory-lejer-id, som Microsoft Dynamics 365-forekomsterne er tilknyttet. Flere oplysninger: Find Azure Active Directory-lejer-id'et for forekomster af Dynamics 365
# -------------------------------------------------------------------------------- #
# 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
Login-AzureRmAccount
Set-AzureRmContext -TenantId $tenantId -SubscriptionId $subscriptionId
# Create new resource group if not exists.
$rgAvail = Get-AzureRmResourceGroup -Name $resourceGroupName -Location $location -ErrorAction SilentlyContinue
if(!$rgAvail){
New-AzureRmResourceGroup -Name $resourceGroupName -Location $location
}
# Create new key vault if not exists.
$kvAvail = Get-AzureRmKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if(!$kvAvail){
New-AzureRmKeyVault -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.
$secretVaule = ConvertTo-SecureString $connectionString -AsPlainText -Force
$secret = Set-AzureKeyVaultSecret -VaultName $keyvaultName -Name $secretName -SecretValue $secretVaule -Tags $secretTags
# Authorize application to access key vault.
$servicePrincipal = 'b861dbcc-a7ef-4219-a005-0e4de4ea7dcf'
Set-AzureRmKeyVaultAccessPolicy -VaultName $keyvaultName -ServicePrincipalName $servicePrincipal -PermissionsToSecrets get
# Display secret url.
Write-Host "Connection key vault URL is "$secret.id.TrimEnd($secret.Version)""
Sådan slettes tabeller og lagrede procedurer for alle dataeksportprofiler
Vigtigt
-
Kontroller, at du har oprettet @prefix og @schema-værdierne i sætningen korrekt, før du kører denne SQL-sætning.
-
Eksportprofil skal oprettes igen, når du kører 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
Kontroller, at du har oprettet @prefix, @schema og @entityName -værdierne i sætningen korrekt, før du kører denne SQL-sætning. 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;
Find Azure Active Directory-lejer-id'et for forekomster af Dynamics 365
Log på Azure-portalen.
Gå til Azure Active Directory > Appregistreringer > Slutpunkter.
Lejer-id'et vises i de URL-adresser for slutpunkter, der er angivet med Azure-abonnementet.
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 den forekomst af Microsoft Dynamics 365, du vil bruge til eksport af data.
Statiske IP-adresser for Azure SQL-database bruges af Dataeksportservice
I Azure SQL Database skal du klikke på Angiv serverens firewall, indstille Tillad adgang til Azure Services til Fra, klikke på Tilføj klient-IP og derefter tilføje de IP-adresser, der er relevant for området for din Azure SQL Database.Flere oplysninger:Microsoft Azure: Konfigurere en firewallregel på SQL Azure Database-serverniveau ved hjælp af Azure Portal
Område |
IP-adresse |
---|---|
Det vestlige USA |
40.112.139.218 |
Det østlige USA |
23.96.92.86 |
Vesteuropa |
40.68.252.224 |
Det østlige Asien |
52.175.24.148 |
Sydøstasien |
52.163.231.218 |
Centralindien |
52.172.191.195 |
Sydindien |
52.172.51.15 |
Nordeuropa |
52.169.117.212 |
Det vestlige Japan |
138.91.22.196 |
Det østlige Japan |
13.73.7.177 |
Det sydlige Brasilien |
191.235.81.249 |
Det sydøstlige Australien |
40.115.78.163 |
Det østlige Australien |
13.73.202.160 |
Canada centrale |
52.228.26.31 |
Canada øst |
40.86.251.81 |
Det sydlige Storbritannien |
51.140.71.166 |
Det vestlige Storbritannien |
51.141.44.218 |
Kendte problemer og begrænsninger
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.
Opret eksportprofiler, hvor Skriv slettelog er aktiveret. Genopret eksisterende eksportprofiler, som Skriv slettelog ikke er aktiveret for.
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.
Hvis en eller flere poster findes i tabellen DeleteLog, skal du oprette og køre en SQL-forespørgsel, der registrerer forekomster, 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 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.
Objekt |
Tabelnavn |
Løsning |
---|---|---|
Aktivitet |
ActivityPointerBase |
Vælg de specifikke aktivitetsobjekter til eksport, f.eks. Telefonopkald, Aftale, E-mail og Opgave. |
Meddelelse om beskyttelse af personlige oplysninger
Ved at bruge Dataeksportservice, når du aktiverer en dataeksportprofil i Microsoft 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 Service 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 sektioner.
Bemærk! Du kan finde oplysninger om andre Azure servicetilbud i Microsoft Azure Trust Center.
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.
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. Inaktive data i Azure-tjenestebussen er ikke krypteret men kun tilgængelige for Dataeksporttjeneste.
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.
I Azure SQL Database lagres konfigurationen af dataeksportprofilen og metrikværdier for datasynkronisering.
Se også
AppSource: Microsoft Dynamics 365 – Dataeksportservice
Nyheder i Dynamics 365 – Dataeksportservice
Administrere dine data
MSDN: Dataeksporttjeneste
Teamblog: Introduktion til Dynamics 365 – Dataeksportservice
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret