Delen via


Microsoft Dynamics 365 (online) gegevens repliceren naar Microsoft Azure SQL-database

 

Gepubliceerd: februari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics CRM Online

Notitie

De hier geboden informatie heeft betrekking op versies van Dynamics 365 vóór Dynamics 365 (online), versie 9.0. Voor de nieuwste documentatie raadpleegt u Gegevens repliceren naar Azure SQL-database.

De Microsoft Dynamics 365-Gegevensexportservice is een invoegtoepassing die beschikbaar wordt gesteld voor Microsoft AppSource. Deze service voegt de mogelijkheid toe om Microsoft Dynamics 365 (online)-gegevens te repliceren naar een Microsoft Azure SQL-database-archief in een Microsoft Azure-abonnement dat eigendom is van de gebruiker. De ondersteunde doelen zijn Microsoft Azure SQL-database en SQL Server op Microsoft Azure virtuele machines. Met Gegevensexportservice worden alle Dynamics 365-gegevens intelligent gesynchroniseerd met het Microsoft Dynamics 365 (online)-systeem. Daarna worden wijzigingen continu gesynchroniseerd (deltawijzigingen). Dit biedt verschillende analyse- en rapportagescenario's boven op de Dynamics 365-gegevens met Azure-gegevens en analyseservices en opent nieuwe mogelijkheden voor klanten en partners aangepaste oplossingen te maken.

Notitie

U kunt Gegevensexportservice gebruiken met:

  • Microsoft Dynamics 365 (online)

  • Update voor Microsoft Dynamics CRM Online 2016

Raapleeg voor informatie over de programmatische interface voor het beheren van de configuratie en administratie van Gegevensexportservice, MSDN: Gegevensexport-service.

In dit onderwerp

Vereisten voor het gebruiken van Gegevensexportservice

Vereiste services, referenties en bevoegdheden

Wat u moet weten voordat u de Gegevensexportservice gebruikt

Exportprofiel

Een exportprofiel maken

Een bestaand exportprofiel aanpassen

Tabeldetails voor de Azure SQL-doeldatabase

Synchronisatieproblemen oplossen

Foutafhandeling en controle

Aanbevolen procedures voor het gebruik van Azure SQL-database met gegevensexport

Over de wachttijd voor gegevenssynchronisatie

De Azure sleutelkluis instellen

Bekende problemen en beperkingen

Vereisten voor het gebruiken van Gegevensexportservice

Als u Gegevensexportservice gaat gebruiken, gelden de volgende vereisten.

Azure SQL-databaseservice

  • Een klant is eigenaar van het Azure SQL-database-abonnement. Dit abonnement moet het volume toestaan van gegevens die worden gesynchroniseerd.

  • Firewallinstellingen. Het wordt aanbevolen om de optie Allow access to Azure services (Toegang tot Azure-services toestaan) uit te schakelen en de juiste client-IP-adressen in te voeren die in dit onderwerp worden vermeld. Meer info: Statische IP-adressen voor Azure SQL-databases, die de Gegevensexportservice gebruikt

    U kunt ook de optie Allow access to Azure services inschakelen, zodat alle Azure-services toegang krijgen.

    Voor SQL Server op Azure VM moet de opie Verbinding maken met SQL Server via Internet zijn ingeschakeld. Meer informatie: Microsoft Azure: Verbinding maken met een virtuele machine met SQL Server op Azure (klassieke installatie)

  • De databasegebruiker moet machtigingen hebben voor de databases en het schemaniveau volgens de volgende tabellen. De databasegebruiker wordt gebruikt in de verbindingstekenreeks voor gegevensexport.

    Databasemachtigingen vereist.

    Typecode machtiging

    Machtigingnaam

    CRTB

    TABEL MAKEN

    CRTY

    TYPE MAKEN

    CRVW

    VIEW MAKEN

    CRPR

    PROCEDURE MAKEN

    ALUS

    WILLEKEURIGE GEBRUIKER WIJZIGEN

    VWDS

    STATUS VAN DATABASE BEKIJKEN

    Schemamachtigingen vereist.

    Typecode machtiging

    Machtigingnaam

    AL

    WIJZIGEN

    IN

    INVOEGEN

    DL

    DELETE

    SL

    SELECTEREN

    UP

    UPDATE

    EX

    UITVOEREN

    Rf

    VERWIJZINGEN

Service Azure Sleutelkluis

  • De klant is eigenaar van het Azure Sleutelkluis-abonnement, dat wordt gebruikt om de databaseverbindingtekenreeks veilig te onderhouden.

  • De machtiging PermissionsToSecrets voor de toepassing met de id "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf". Dit kan worden voltooid door de onderstaande AzurePowershell-opdracht uit te voeren en wordt gebruikt voor toegang tot de Sleutelkluis met het geheim van de verbindingstekenreeks.Meer informatie:De Azure sleutelkluis instellen

  • De sleutelkluis moet met de Microsoft Dynamics 365-organisatie-id (OrgId) en tenant-id (TenantId) worden getagd. Dit kan worden voltooid door de onderstaande AzurePowershell-opdracht uit te voeren.Meer informatie:De Azure sleutelkluis instellen

Microsoft Dynamics 365 (online)

  • Een exemplaar van Update voor Microsoft Dynamics CRM Online 2016 of een latere versie.

  • De oplossing Gegevensexportservice moet zijn geïnstalleerd. Haal deze nu op uit Microsoft AppSource.

  • De entiteiten die worden toegevoegd aan de Exportprofiel, moeten zijn ingeschakeld met bijhouden van wijzigingen. Als u wilt zorgen dat een standaardentiteit of aangepaste entiteit kan worden gesynchroniseerd, gaat u naar Aanpassing > Het systeem aanpassen en klikt u op de entiteit. Op het tabblad Algemeen moet u de optie Bijhouden van wijzigingen in de sectie Gegevensservices inschakelen.

  • U moet beschikken over de beveiligingsrol Systeembeheerder in het exemplaar van Microsoft Dynamics 365 (online).

Webbrowser

Schakel voor pop-ups het domein https://discovery.crmreplication.azure.net/ in in uw webbrowser. Dit is vereist voor auto-aanmelden als u naar Instellingen > Gegevensexport gaat.

Vereiste services, referenties en bevoegdheden

Als u de Gegevensexportservice-functie wilt gebruiken, moet u de volgende services, referenties en bevoegdheden hebben.

  • Een Microsoft Dynamics 365 (online)-abonnement. Alleen gebruikers met de beveiligingsrol Microsoft Dynamics 365 Systeembeheerder kunnen een Exportprofiel instellen of er wijzigingen in aanbrengen.

  • Microsoft Azure-abonnement dat de volgende services bevat.

    • Azure SQL-database of AzureSQL Server op Azure virtuele machines.

    • Azure Sleutelkluis.

Belangrijk

Als u de Gegevensexportservice wilt gebruiken, moeten de Microsoft Dynamics 365 (online)- en de Azure Sleutelkluis-services onder dezelfde tenant en binnen dezelfde Microsoft Azure Active Directory werken.Meer informatie:Azure-integratie met Office 365

De Azure SQL-database-service kan zich bevinden in dezelfde of in een andere tenant dan de Microsoft Dynamics 365 (online)-service.

Wat u moet weten voordat u de Gegevensexportservice gebruikt

  • Exportprofielen moeten worden verwijderd en vervolgens opnieuw worden gemaakt wanneer u een van de volgende acties in een Microsoft Dynamics 365 (online)-exemplaar uitvoert.

    • Een exemplaar terugzetten

    • Een exemplaar (geheel of minimaal) kopiëren

    • Een exemplaar opnieuw instellen

    • Een exemplaar naar een ander land of een andere regio verplaatsen

    Hiervoor verwijdert u de Exportprofiel in de weergave PROFIELEN EXPORTEREN. Vervolgens verwijdert u de tabellen en opgeslagen procedures en maakt u een nieuw profiel.Meer informatie:Alle tabellen en de opgeslagen procedures voor een gegevensexportprofiel verwijderen

  • De Gegevensexportservice werkt niet voor Microsoft Dynamics 365 (online)-sandboxexemplaren die zijn geconfigureerd met Beheerdersmodus inschakelen ingeschakeld.Meer informatie:Beheerdersmodus

  • Met de Gegevensexportservice worden de gekoppelde tabellen, kolommen of objecten van opgeslagen procedure niet in de bestemming Azure SQL-database neergezet (verwijderd) als de volgende acties worden uitgevoerd.

    • Er wordt een entiteit verwijderd in Microsoft Dynamics 365 (online).

    • Er wordt een veld verwijderd in Microsoft Dynamics 365 (online).

    • Er wordt een entiteit verwijderd uit een Exportprofiel.

    Deze items moeten handmatig worden verwijderd.De tabellen en opgeslagen procedures van een gegevensexportprofiel verwijderen voor een specifieke entiteit

    Meldingen van metagegevensverwijdering worden geregistreerd in de map unprocessablemessages.Foutafhandeling en controle

Exportprofiel

Als u gegevens van Microsoft Dynamics 365 (online) wilt exporteren, maakt de Microsoft Dynamics 365 (online)-systeembeheerder een Exportprofiel. Verschillende profielen kunnen worden gemaakt en geactiveerd als u gegevens in andere doeldatabases gelijktijdig wilt synchroniseren.

Exportprofiel is het kernconcept van Gegevensexportservice.Exportprofiel verzamelt installatie- en configuratiegegevens om gegevens met de doeldatabase te synchroniseren. Als onderdeel van het Exportprofiel biedt de beheerder een lijst met entiteiten die naar de doeldatabase moet worden geëxporteerd. Na activering start het Exportprofiel de automatische synchronisatie van gegevens. Aanvankelijk worden alle gegevens geëxporteerd die overeenkomen met elke geselecteerde entiteit. Vervolgens worden alleen doorlopend de wijzigingen met behulp van een pushmechanisme vrijwel in realtime gesynchroniseerd als ze optreden in entiteitsrecords of metagegevens in Microsoft Dynamics 365 (online). U hoeft dus geen planning om te stellen om gegevens uit Microsoft Dynamics 365 (online) op te halen.

Alleen entiteiten waarvoor wijzigingen bijhouden is ingeschakeld, kunnen aan het Exportprofiel worden toegevoegd. Bedenk dat voor de meeste standaard Microsoft Dynamics 365-entiteiten die gegevens vastleggen het bijhouden van wijzigingen is ingeschakeld. De aangepaste entiteiten moeten expliciet voor het bijhouden van wijzigingen zijn ingeschakeld voordat u ze kunt toevoegen aan Exportprofiel.Meer informatie:Bijhouden van wijzigingen inschakelen om gegevenssynchronisatie te beheren

De Gegevensexportservice synchroniseert metagegevens en gegevens. Elke entiteit wordt vertaald in één tabel en elk veld in een kolom in de doeldatabasetabel. Tabel- en kolomnamen gebruiken de schemanaam van de Microsoft Dynamics 365-metagegegevens.

Na activering verzamelt Exportprofiel statistieken voor gegevenssynchronisatie die de operationele zichtbaarheid en diagnostiek van de geëxporteerde gegevens ondersteunt.

Gegevenssynchronisatie beschikbaar met een exportprofiel

Categorie

Functie

Ondersteunde gegevenstypen

Initiële synchronisatie

Metagegevens - Basisgegevenstypen

Geheel getal, getal met drijvende komma, decimaal getal, één tekstregel, meerdere regels tekst, gegevenstypen datum en tijd.

Initiële synchronisatie

Metagegevens - Geavanceerde gegevenstypen

Valuta, PartyList, optieset, status, reden van status, opzoeken (inclusief opzoektype Klant en Betreft). PartyList is alleen beschikbaar voor exporteren in versie 8.1 en hoger.

Initiële synchronisatie

Gegevens - Basisgegevenstypen

Alle basisgegevenstypen

Initiële synchronisatie

Gegevens - Geavanceerde gegevenstypen

Alle geavanceerde gegevenstypen.

Deltasynchronisatie

Schema wijzigen - Basistypen

Veldwijziging toevoegen of wijzigen, alle basisgegevenstypen.

Deltasynchronisatie

Schema wijzigen - Geavanceerde typen

Veldwijziging toevoegen of wijzigen, alle geavanceerde gegevenstypen.

Deltasynchronisatie

Gegevens wijzigen - Basistypen

Alle basisgegevenstypen

Deltasynchronisatie

Gegevens wijzigen - Geavanceerde gegevenstypen

Alle geavanceerde gegevenstypen zoals PartyList.

Een exportprofiel maken

Zorg ervoor dat wordt voldaan aan de volgende vereisten voordat u een Exportprofiel maakt.

  • Uw oplossing Gegevensexportservice wordt geïnstalleerd in uw Microsoft Dynamics 365 (online)-exemplaar.

  • Onderhoud de SQL-database-verbindingstekenreeks in de Sleutelkluis en kopieer de Sleutelkluis-URL voor het Exportprofiel. Meer informatie: Microsoft Azure: Aan de slag met Azure sleutelkluis

  • De entiteiten die worden toegevoegd aan het Exportprofiel, worden ingeschakeld voor het bijhouden van wijzigingen.Meer informatie:Bijhouden van wijzigingen inschakelen om gegevenssynchronisatie te beheren

  • De service SQL-database heeft genoeg opslagruimte om de Microsoft Dynamics 365-gegevens op te slaan.

  • U bent een systeembeheerder in het Microsoft Dynamics 365 (online)-exemplaar.

  1. Ga in Microsoft Dynamics 365 (online) naar Instellingen > Gegevensexport.

  2. Controleer de melding, en klik op Doorgaan of Annuleren als u geen gegevens wilt exporteren.

  3. Klik op Nieuw om een nieuw Exportprofiel te maken.

  4. In de stap Eigenschappen voert u de volgende informatie in, en klikt u op Volgende om door te gaan zonder verbinding te maken met de Sleutelkluis. Als u op Valideren klikt, wordt de opgegeven Sleutelkluis-URL gebruikt om verbinding te maken met Sleutelkluis.

    • Naam. Unieke naam van het profiel. Dit is een verplicht veld.

    • Verbindings-URL sleutelkluis. Sleutelkluis-URL die naar de verbindingsreeks verwijst die wordt opgeslagen met referenties die worden gebruikt om verbinding te maken met de doeldatabase. Dit is een verplicht veld.Meer informatie:De Azure sleutelkluis instellen

      Belangrijk

      De belangrijkste Verbindings-URL sleutelkluis is hoofdlettergevoelig. Voer de Verbindings-URL sleutelkluis precies zo in als deze wordt weergegeven als u de opdrachten Windows PowerShell in dit onderwerp uitvoert.

    • Schema. Naam van een alternatief databaseschema. Alleen alfanumerieke tekens zijn geldig. Dit veld is optioneel. Standaard is dbo het schema dat voor de bestemming SQL-database wordt gebruikt.

    • Voorvoegsel. Voorvoegsel dat wordt gebruikt voor de tabelnamen die zijn gemaakt in de doeldatabase. Zo kunt u gemakkelijk de tabellen identificeren die zijn gemaakt voor Exportprofiel in de doeldatabase. Als dit is opgegeven, moet u ervoor zorgen dat het prefix korter is dan 15 tekens. Dit veld is optioneel en er zijn alleen alfanumerieke tekens toegestaan.

    • Aantal nieuwe pogingen. Het aantal keren dat na een mislukking opnieuw wordt geprobeerd om een record in te voegen of bij te werken in de doeltabel. Dit is een verplicht veld. Acceptabele waarden zijn 0-20 en de standaardwaarde is 12.

    • Interval tussen pogingen. Het aantal seconden om te wachten voor een nieuwe poging in het geval van een fout. Dit is een verplicht veld. Acceptabele waarden zijn 0-3600 en de standaardwaarde is 5.

    • Verwijderlogboek schrijven. Optionele instelling voor het registreren van verwijderde records.

    Tabblad Eigenschappen in het dialoogvenster Exportprofiel maken

  5. Selecteer in de stap Entiteiten selecteren de entiteiten die u wilt exporteren naar de doel-SQL-database en klik op Volgende.

    Tabblad Entiteiten selecteren in het dialoogvenster Exportprofiel maken

  6. In de stap Relaties selecteren kunt u M:N-relaties (veel-op-veel) synchroniseren die bestaan in de entiteiten die u in de vorige stap hebt geselecteerd. Klik op Next.

    Exportprofiel maken - Relaties beheren - Relaties selecteren

  7. In de stap Samenvatting klikt u op Maken en activeren om het profielrecord te maken en met Sleutelkluis te verbinden, waarmee het synchronisatieproces begint. Anders klikt u op Maken om het Exportprofiel op te slaan en later te activeren.

    Tabblad Overzicht in het dialoogvenster Exportprofiel maken

Een bestaand exportprofiel aanpassen

U kunt entiteiten en relaties verwijderen uit of toevoegen aan een bestaand Exportprofiel dat u wilt kopiëren.

  1. Ga in Microsoft Dynamics 365 (online) naar Instellingen > Gegevensexport.

  2. Selecteer in de weergave Alle gegevensexportprofielen het Exportprofiel dat u wilt wijzigen.

    Een exportprofiel selecteren

  3. Klik in de werkbalk Acties op ENTITEITEN BEHEREN en voeg entiteiten toe (of verwijder ze) voor de gegevensexport. Als u entiteitsrelaties wilt toevoegen of verwijderen, klikt u op RELATIES BEHEREN.

    Entiteiten en entiteitsrelaties beheren

  4. Selecteer de entiteiten of entiteitsrelaties die u wilt toevoegen of verwijderen.

    Selecteer de entiteiten of entiteitsrelaties die u wilt toevoegen of verwijderen.

  5. Klik op Bijwerken om uw wijzigingen door te geven aan het Exportprofiel.

Belangrijk

Als u een entiteit of een entiteitsrelatie verwijdert uit een Exportprofiel, wordt de corresponderende tabel in de doeldatabase niet verwijderd. Voordat u een entiteit die is verwijderd, weer kunt toevoegen, moet u de corresponderende tabel verwijderen uit de bestemmingsdatabase. Als u een entiteittabel wilt verwijderen, raadpleegt u De tabellen en opgeslagen procedures van een gegevensexportprofiel verwijderen voor een specifieke entiteit.

Tabeldetails voor de Azure SQL-doeldatabase

De Gegevensexportservice maakt tabellen voor metagegevens en gegevens. Een tabel wordt gemaakt voor elke entiteit en M:N-relatie die wordt gesynchroniseerd.

Zodra een Exportprofiel is ingeschakeld, worden deze tabellen gemaakt in de bestemmingdatabase. Dit zijn systeemtabellen, waaraan niet de velden SinkCreatedTime en SinkModifiedTime zijn toegevoegd.

Tabelnaam

Gemaakt

<Prefix>_GlobalOptionsetMetadata

Bij activering van Exportprofiel.

<Prefix>_OptionsetMetadata

Bij activering van Exportprofiel.

<Prefix>_StateMetadata

Bij activering van Exportprofiel.

<Prefix>_StatusMetadata

Bij activering van Exportprofiel.

<Prefix>_TargetMetadata

Bij activering van Exportprofiel.

<Prefix>_AttributeMetadata

Bij activering van Exportprofiel.

<Prefix>_DeleteLog

Bij activering van Exportprofiel, wanneer de verwijderlogboekoptie is ingeschakeld.

Synchronisatieproblemen oplossen

Zelfs na verscheidene pogingen kunnen recordsynchronisaties mislukken vanwege databaseopslagbeperkingen of tabelvergrendeling vanwege lang lopende query's. Als u deze fouten wilt oplossen, kunt u een hersynchronisatie afdwingen van alleen mislukte records of van alle records.

  1. Geef uw exportprofielen weer om profielen te zoeken die mislukte recordsynchronisaties hebben. U doet dit door de gegevensprofielen weer te geven in het gebied Synchronisatie of door een Exportprofiel te openen, zoals dit profiel dat al een mislukte synchronisatie van contactentiteitrecords heeft.

    DataExport_failed_records_exist

  2. Onderzoek de bron van de synchronisatiefout en corrigeer deze.Meer informatie:Foutafhandeling en controle

  3. Nadat het probleem is opgelost, hersynchroniseert u de mislukte records.

    Notitie

    Synchronisatie van mislukte records is een openbare voorbeeldfunctie.

    • Een voorbeeldfunctie is een functie die niet is voltooid, maar die beschikbaar wordt gesteld voordat deze officieel wordt vrijgegeven in een versie, zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven. Voorbeeldfuncties zijn niet bedoeld voor productiegebruik en bieden mogelijk alleen beperkte functionaliteit.

    • Wij verwachten veranderingen in deze functies, dus kunt u deze beter niet in productie gebruiken. Gebruik deze alleen in test- en ontwikkelomgevingen.

    • Microsoft biedt geen ondersteuning voor deze voorbeeldfunctie. De technische ondersteuning voor Microsoft Dynamics 365 kan u niet helpen met problemen of vragen. Voorbeeldfuncties zijn niet bedoeld voor productiegebruik en zijn onderworpen aan aparte aanvullende gebruiksvoorwaarden.

    1. Meld u aan bij uw Microsoft Dynamics 365 (online)-exemplaar en ga naar Instellingen > Gegevens exporteren.

    2. Open de Exportprofiel die de mislukte recordsynchronisaties bevat.

    3. Klik op de Exportprofiel-werkbalk op HERSYNCHRONISATIE VAN MISLUKTE RECORDS.

    4. Klik in het bevestigingsdialoogvenster op OK als de hersynchronisatie van de mislukte records is geslaagd.

      Bericht van een succesvolle hersynchronisatie

    5. Controleer of de Exportprofiel geen meldingen over mislukte records bevat door het gegevensexportprofiel te openen en de teller Mislukte meldingen te bekijken op het tabblad EIGENSCHAPPEN EN OVERZICHT. Dat aantal moet 0 zijn. Klik op VERNIEUWEN op de Exportprofiel-werkbalk om te zorgen dat de waarde Mislukte meldingen actueel is.

      Indicatie van nul records mislukt

  4. Als de recordsynchronisatiefouten blijven bestaan nadat u hebt geprobeerd te hersynchroniseren met de vorige stappen, verwijdert u de tabellen en opgeslagen procedures uit de doeldatabase, verwijdert u de entiteiten uit de Exportprofiel en voegt u ze weer toe.

    1. Verwijder de gekoppelde databaseobjecten in de doel-Azure SQL-database. Als u bijvoorbeeld voortdurend synchronisatieproblemen ondervindt met de entiteit Potentiële klant, verwijdert u de leadtabellen en opgeslagen procedures uit de doel-Azure SQL-database.Meer informatie:De tabellen en opgeslagen procedures van een gegevensexportprofiel verwijderen voor een specifieke entiteit

    2. Verwijder de entiteit (bijvoorbeeld de entiteit Potentiële klant) uit Exportprofiel.Meer informatie:Een bestaand exportprofiel aanpassen

    3. Voeg de verwijderde entiteit weer toe aan het Exportprofiel en activeer vervolgens het profiel.

Foutafhandeling en controle

Als u de synchronisatiestatus van een Exportprofiel wilt bekijken, gaat u naar Instellingen > Gegevensexport en opent u de Exportprofiel. Op het tabblad ENTITEITEN wordt de synchronisatiestatus weergegeven inclusief een kolom Mislukte records voor records die niet konden worden gesynchroniseerd. Voor mislukte records kan een lijst met records en de statusreden worden gedownload door te klikken op MISLUKTE RECORDS in de opdrachtbalk.

Opdrachtbalk Profiel exporteren - knop Mislukte records

In het Exportprofiel kunt u klikken op EIGENSCHAPPEN & BEOORDELING om de eigenschappen van het profiel weer te geven. Klik op RELATIES om de synchronisatiestatus van relaties weer te geven.

Gedetailleerde informatie weergeven over records die niet zijn gesynchroniseerd

De mislukte-recordlogboeken kunnen helpen de oorzaak van synchronisatiefouten te bepalen. U kunt de mislukte records weergeven in de doeldatabase van Azure SQL met behulp van Microsoft Azure Storage Explorer, een gratis zelfstandige toepassing waarmee u simpel kunt werken met gegevens in Azure Storage. Meer informatie over dit onderwerp vindt u in: Microsoft Azure Storage Explorer.

  1. Ga in Dynamics 365 naar Instellingen > Gegevensexport.

  2. Ga naar de weergave Alle gegevensexportprofielen en selecteer het Exportprofiel waarbij meldingen voor mislukte records worden getoond.

    Mislukte meldingen

  3. Klik in de werkbalk Acties op Mislukte records.

    Werkbalkknop Mislukte records

  4. Klik in het dialoogvenster Mislukte records downloaden op Blob-URL kopiëren en vervolgens op OK.

    Dialoogvenster Mislukte records downloaden

    Notitie

    De blob-URL is maximaal 24 uur geldig. Als u de URL gebruikt na deze periode van 24 uur, herhaal dan de hierboven beschreven stappen en genereer een nieuwe blob-URL.

  5. Start Microsoft Azure Storage Explorer op.

  6. Klik in Microsoft Azure Storage Explorer op Connect to Azure Storage (verbinding maken met Azure Storage).

  7. Plak de URL vanuit het klembord in het vak Connect to Azure Storage en klik daarna op Volgende.

    URL voor opslagruimte

  8. Klik op de pagina Connection Summary op Connect.

  9. Azure Storage Explorer maakt verbinding met de doeldatabase. Als er mislukte records zijn voor de Exportprofiel Azure Storage Explorer, worden mislukte recordsynchronisatiemappen weergegeven.

Mapstructuur en logbestanden van mislukte recordsynchronisatie

De opslag-URL van Azure-blobopslag voor mislukte records verwijst naar een locatie met de volgende mapstructuur:

  • data. Deze map bevat mislukte gegevensmeldingen en de gekoppelde JSON voor recordgegevens.

  • metadata. Deze map bevat mislukte metagegevensmeldingen en de gekoppelde JSON voor metagegevens.

  • failurelog. Deze map bevat logboeken die gegevens bevatten over de synchronisatiefout en de reden waarom de fout is opgetreden.

  • forcerefreshfailurelog. Deze map bevat fouten van de laatste uitvoering van de Gegevensexportservice-opdracht Mislukte records die is gebruikt om mislukte records opnieuw te synchroniseren.

  • unprocessablemessages. Deze map bevat de gegevensmeldingen die niet zijn verwerkt vanwege verwijdering van gegevens of metagegevens en de gekoppelde JSON.

De mappen failurelog en forcerefreshfailurelog zijn als volgt ingedeeld: Jaar\Maand\Dag\Uur, zodat u snel de meest recente fouten kunt vinden. Alle records voor mislukkingen worden na 30 dagen verwijderd.

Hier volgt een voorbeeldlogboekbestand, dat wijst op een synchronisatiefout voor een record van de entiteit contactpersoon.

Entiteit: contact, RecordId: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, NotificationTime: 12/28/2016 12:32:39 AM, ChangeType: update, FailureReason: de database 'tempdb' heeft de omvangquota bereikt. Partitioneer of verwijder gegevens, wis indexen of raadpleeg de documentatie voor mogelijke oplossingen. Het overzicht is beëindigd.

Veelvoorkomende redenen voor mislukte recordsynchronisaties

Hier is een aantal redenen waarom recordsynchronisatiefouten kunnen optreden.

  • Onvoldoende opslagruimte voor de bestemmingdatabase. Voordat u de mislukte records opnieuw probeert te synchroniseren, vergroot u de Azure SQL-database-opslagruimte. Als dit probleem zich voordoet, wordt een bericht zoals dit opgenomen in het foutlogboek.

    De database 'databasenaam' heeft de groottetarget bereikt. Partitioneer of verwijder gegevens, wis indexen of raadpleeg de documentatie voor mogelijke oplossingen.

  • Synchronisatietime-outs met Azure SQL-database. Dit kan tijdens de eerste synchronisatie van een gegevensexportprofiel voorkomen wanneer grote hoeveelheden gegevens tegelijk worden verwerkt. Als dit probleem zich voordoet, synchroniseert u de mislukte records opnieuw.Synchronisatieproblemen oplossen

Aanbevolen procedures voor het gebruik van Azure SQL-database met gegevensexport

  • Als u synchronisatiefouten wegens resourcebeperking wilt voorkomen, adviseren we u een Azure SQL-database Premium P1-plan of beter te nemen wanneer u de Gegevensexportservice gebruikt.Meer informatie:Resourcelimieten van Azure SQL-database en prijzen van SQL-database

  • Stel de Azure SQL-database in om Read Committed Snapshot Isolation (RCSI) te gebruiken voor werklasten die tegelijkertijd worden uitgevoerd op de bestemmingdatabase en die langdurige leesquery's uitvoeren, zoals rapportage- en ETL-taken. Dit vermindert het voorkomen van time-outfouten die met de Gegevensexportservice kunnen optreden vanwege lees-/schrijfconflicten.

Over de wachttijd voor gegevenssynchronisatie

Gegevensexportservice is ontworpen voor het synchroniseren van gegevenswijzigingen in de bestemmingdatabase met een pushmechanisme door te luisteren naar wijzigingen terwijl ze plaatsvinden in Dynamics 365. De service streeft ernaar om gegevens binnen een paar minuten te verwerken, maar is aantal factoren kan de wachttijd voor volledige synchronisatie beïnvloeden.

Factoren die op de duur van de synchronisatie van invloed zijn:

  • Het huidige werklast op Dynamics 365.

  • De snelheid waarmee gegevens wijzigen in Dynamics 365.

  • Het aantal entiteiten dat is toegevoegd aan elk exportprofiel en de kenmerken daarvan.

  • Prestaties SQL Server. Bijvoorbeeld:

    • Insteltijd voor SQL-verbinding.

    • Uitvoeringstijd voor SQL-instructie.

Op basis van ons toezicht op de service wordt aangenomen dat een bestaande deltasynchronisatie meestal in 15 minuten wordt voltooid, wanneer de service onder de volgende omstandigheden werkt:

  • De synchronisatie die plaatsvindt, is een deltasynchronisatie en niet de eerste synchronisatie. De deltasynchronisatie is alleen voor bewerkingen met gegevenswijziging, zoals transacties voor record maken, bijwerken en verwijderen. Houd er rekening mee dat de deltasynchronisatie begint als de eerste synchronisatie is voltooid.

  • De maximale snelheid voor gegevenswijziging in Dynamics 365 voor alle entiteiten in het exportprofiel is lager dan 3000 records per uur. Eventuele plotselinge toename in de snelheid voor gegevenswijziging door bulkwijziging waarbij de maximale wijzigingssnelheid wordt overschreden, veroorzaakt extra wachttijd.

  • Elke entiteit die aan een exportprofiel wordt toegevoegd, heeft minder dan 150 kenmerken.

  • De databaseverbinding of de uitvoering van de SQL-instructie wordt voltooid in minder dan 10 seconden. Als deze limiet wordt overschreden, resulteert dat in extra wachttijd.

  • Er treden geen fouten op in de verbinding met de doeldatabase of de SQL-uitvoering tijdens de synchronisatie.

Als de bovenstaande voorwaarden wordt voldaan, is 15 minuten een gebruikelijke synchronisatiewachttijd.Microsoft biedt geen dienstverleningsovereenkomst (SLA) voor Gegevensexportservice en worden er geen garanties of toezeggingen gegevens voor synchronisatiewachttijden.

De Azure sleutelkluis instellen

Voer het hier beschreven Windows PowerShell-script uit als een Azure-accountbeheerder om toestemming te geven voor de functie Gegevensexportservice met toegang tot uw Azure-sleutelkluis. Dit script toont de URL van de sleutelkluis die vereist is voor het maken van het Exportprofiel die wordt gebruikt om toegang te verkrijgen tot de verbindingstekenreeks.

Vervang voordat u het script uitvoert, de tijdelijke aanduidingen door de volgende variabelen.

  • $subscriptionId. De abonnements-id voor Azure. De abonnements-id wordt weergegeven als u de opdracht Login-AzureRmAccount uitvoert.

  • $keyvaultName. Selecteer een naam voor een bestaande of nieuwe Sleutelkluis. De naam wordt gebruikt om te verwijzen naar de Sleutelkluis. In dit voorbeeld wordt ContosoKeyVault gebruikt. U gebruikt deze naam voor andere Sleutelkluis-cmdlets.

  • $secretName. Geef de naam op die wordt gebruikt voor de met software beveiligde sleutel voor de Sleutelkluis. Als er geen beveiligde sleutel bestaat, wordt deze gemaakt met de opgegeven geheime naam. In dit voorbeeld wordt ContosoDataExportSecret gebruikt.

  • $resourceGroupName. Geef de naam op van de Azure-resourcegroep die u wilt gebruiken. Als een resourcegroep niet al bestaat, wordt een nieuwe gemaakt met de naam die u opgeeft. In dit voorbeeld wordt ContosoResourceGroup1 gebruikt.

  • $location. Geef de locatie waar de resourcegroep zich bevindt, of zou moeten bevinden, zoals Het westen van de VS.

  • $connectionString. De verbindingstekenreeks met de Microsoft Azure SQL-database. U kunt de ADO.NET-verbindingstekenreeks gebruiken zoals deze wordt weergegeven op uw Azure- dashboard.

  • $organizationIdList = door komma's gescheiden lijst met toegestane Microsoft Dynamics 365-organisaties, vermeld op organisatie-id (organizationId) om in te schakelen voor Gegevensexportservice. Als u de id van een organisatie wilt vinden, gaat u in Microsoft Dynamics 365 naar Instellingen > Aanpassingen > Resources voor ontwikkelaars. De organisatie-id bevindt zich onder Exemplaarreferentiegegevens.

  • $tenantId. Hiermee wordt de tenant-id voor Azure Active Directory opgegeven waartoe alle Microsoft Dynamics 365-organisaties behoren. Meer info: Zoek de tenant-id van Azure Active Directory voor uw Dynamics 365-exemplaren

# -------------------------------------------------------------------------------- #
    #  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)"" 

Alle tabellen en de opgeslagen procedures voor een gegevensexportprofiel verwijderen

Belangrijk

  • Let er voordat u deze SQL-instructie uitvoert, dat de waarden voor @prefix en @schema correct zijn gedefinieerd in de instructie.

  • Het Exportprofiel moet opnieuw worden aangemaakt nadat u deze SQL-instructie hebt uitgevoerd.

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

De tabellen en opgeslagen procedures van een gegevensexportprofiel verwijderen voor een specifieke entiteit

Belangrijk

Let er voordat u deze SQL-instructie uitvoert, dat de waarden voor @prefix, @schema en @entityName correct zijn gedefinieerd in de instructie. In dit voorbeeld worden de tabel, typen en opgeslagen procedures voor de entiteit Potentiële klant verwijderd.

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

Zoek de tenant-id van Azure Active Directory voor uw Dynamics 365-exemplaren

  1. Meld u aan bij de Azure-portal.

  2. Ga naar Azure Active Directory > Appregistraties > Eindpunten.

  3. De tenant-id wordt weergegeven in de eindpunt-URL's met het Azure-abonnement.

Belangrijk

Een Azure-abonnement kan meerdere Azure Active Directory-tenant-id's hebben. Zorg ervoor dat u de juiste Azure Active Directory-tenant-id selecteert die hoort bij het exemplaar van Microsoft Dynamics 365 dat u wilt gebruiken voor het exporteren van gegevens.

Statische IP-adressen voor Azure SQL-databases, die de Gegevensexportservice gebruikt

Klik in Azure SQL-database op Set server firewall. Stel Allow access to Azure services in op OFF, klik op Add client IP en voer daarna de juiste IP-adressen toe voor de regio van uw Azure SQL-database.Meer informatie:Microsoft Azure: Firewallregel configureren op Azure SQL Database server-niveau met Azure Portall

Regio

IP-adres

Westen van VS

40.112.139.218

Oost VS

23.96.92.86

West-Europa

40.68.252.224

Oost-Azië

52.175.24.148

Zuidoost-Azië

52.163.231.218

Midden-India

52.172.191.195

Zuid-India

52.172.51.15

Noord-Europa

52.169.117.212

Japan West

138.91.22.196

Japan Oost

13.73.7.177

Zuid-Brazilië

191.235.81.249

Australië Zuidoost

40.115.78.163

Australië Oost

13.73.202.160

Canada Midden

52.228.26.31

Canada Oost

40.86.251.81

Verenigd Koninkrijk (Zuid)

51.140.71.166

Verenigd Koninkrijk (West)

51.141.44.218

Bekende problemen en beperkingen

Verwijderde records kunnen opnieuw in de entiteittabel worden ingevoegd na een synchronisatiefout

Als u herstelt van synchronisatiefouten, kunnen records die eerder zijn verwijderd, weer worden ingevoegd in de oorspronkelijke entiteittabel. Als u dit probleem wilt omzeilen wanneer synchronisatiefouten optreden, volgt u deze stappen.

  1. Maak exportprofielen waarvoor Verwijderlogboek schrijven is ingeschakeld. Maak bestaande exportprofielen opnieuw waarvoor Verwijderlogboek schrijven niet is ingeschakeld.

  2. Maak en start een SQL-query voor de Azure SQL-bestemmingdatabase die records zoekt in de tabel DeleteLog. Als een of meer records worden gevonden, duidt dit op de aanwezigheid van verwijderde records.

  3. Als een of meer records bestaan in de tabel DeleteLog, maakt u een SQL-query en voert u deze uit om exemplaren te detecteren waarbij de record-id voor een record in de tabel DeleteLog overeenkomt met de record-id voor een record in een tabel entiteitsnaam en het versionNumber in de tabel DeleteLog groter is dan het versionNumber van de record in de tabel entiteitsnaam. Als er een overeenkomst van record-id's optreedt, verwijdert u de record uit de tabel EntityName. Als een record-id in de kolom AccountId van de tabel DeleteLog bijvoorbeeld overeenkomt met een record-id in de kolom AccountId van de entiteittabel AccountBase en het versionNumber in de tabel DeleteLog groter is dan het versionNumber in de tabel Account, verwijdert u de record uit de entiteittabel AccountBase.

    Belangrijk

    Afhankelijk van uw zakelijke behoeften en vereisten, adviseren wij u de SQL-query's voor het verwijderen van records regelmatig uit te voeren, maar wel buiten bedrijfsuren.

Voorbeeldquery voor verwijdering van entiteitsrecords.

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)

Entiteiten die geen gegevensexport ondersteunen

De hier weergegeven entiteiten ondersteunen wel bijhouden, maar worden niet ondersteund voor gegevensexport met Gegevensexportservice.

Entiteit

Tabelnaam

Oplossing

Activiteit

ActivityPointerBase

Selecteer de specifieke activiteitsentiteiten voor export, zoals Telefoongesprek, Afspraak, E-mail en Taak.

Privacyverklaring

Als u de gegevensexportservice gebruikt, worden bij het activeren van een gegevensexportprofiel vanuit Microsoft Dynamics 365 de gegevens van de entiteiten die zijn toegevoegd aan het profiel naar Azure verzonden. De initiële synchronisatie omvat alle gegevens die zijn gekoppeld aan de entiteiten die aan het exportprofiel zijn toegevoegd, maar daarna omvat de synchronisatie alleen nieuwe wijzigingen, die continu naar de service voor gegevensexportservice worden verzonden. Gegevens die naar de gegevensexportservice worden verzonden worden tijdelijk opgeslagen in Azure Service Bus- en Azure-opslag, verwerkt in Azure Service Fabric en tot slot gesynchroniseerd (ingevoegd, bijgewerkt of verwijderd) met de doeldatabase die is opgegeven in uw Azure-abonnement. Nadat de gegevens zijn gesynchroniseerd, worden zij verwijderd uit de Azure Service Bus- en Azure-opslag. Als zich een fout voordoet tijdens de gegevenssynchronisatie, worden minimale gegevens, overeenkomend met entiteitstype, record-id en tijdstempel voor synchronisatie opgeslagen in Azure-opslag om het downloaden van een lijst met records toe te staan die niet zijn bijgewerkt.

Een beheerder kan het gegevensexportprofiel op elk gewenst moment uitschakelen om de gegevenssynchronisatie te stoppen. Bovendien kan een beheerder het exportprofiel verwijderen om alle logbestanden met mislukte records te verwijderen en kan de oplossing Gegevensexportservice worden verwijderd om te stoppen met het gebruik van de gegevensexportservice.

Gegevenssynchronisatie vindt continu op veilige wijze plaats tussen Dynamics 365 en de gegevensexportservice. Gegevens worden gecodeerd terwijl deze continu worden uitgewisseld tussen Dynamics 365 en de gegevensexportservice.

Welke Azure-onderdelen en -services betrokken zijn bij de gegevensexportservice, wordt gedetailleerd besproken in de volgende secties.

Opmerking: Voor meer informatie over aanvullende aangeboden Azure-services raadpleegt u het vertrouwenscentrum van Microsoft Azure.

Azure Service Fabric

Deze biedt de API en Azure virtuele machines voor het verwerken van synchronisatiemeldingen voor records die worden ontvangen van Dynamics 365 en vervolgens voor het invoegen, bijwerken of verwijderen van recordgegevens in de doeldatabase. Microservices die worden geïmplementeerd op virtuele machines die worden beheer door de Azure Service Fabric runtime handelen alle rekenservices af die verband houden met gegevenssynchronisatie.

Azure Service Bus

Deze biedt de berichtenbus waarin Dynamics 365 de berichten voor synchronisatiemelding invoegt die worden verwerkt door rekenknooppunten in Azure Service Fabric. In elk bericht wordt informatie opgeslagen, zoals de organisatie-id en record, waarvoor gegevens worden gesynchroniseerd. Gegevens in de Azure Service Bus zijn niet gecodeerd in rusttoestand, maar zijn alleen toegankelijk via de service voor gegevensexport.

Azure-blobopslag

Gegevens worden tijdelijk opgeslagen in Azure-blobopslag voor het geval dat de gegevens voor synchronisatiemelding van records te groot zijn om te worden opgeslagen in een bericht of een tijdelijke storing optreedt bij de verwerking van de synchronisatiemelding. Deze blobs zijn versleuteld met behulp van de allernieuwste functie in de Azure-opslag SDK, die ondersteuning voor symmetrische en asymmetrische encryptie en integratie met Azure Sleutelkluis biedt.

Azure SQL

In Azure SQL-database worden de configuratie van gegevensexportprofielen en metrische gegevens voor gegevenssynchronisatie opgeslagen.

Zie ook

AppSource: Microsoft Dynamics 365 - Gegevensexportservice
Nieuw in Dynamics 365 ‒ Gegevensexportservice?
Uw gegevens beheren
MSDN: Service voor gegevensexport
Teamblog: Inleiding tot Dynamics 365 – Gegevensexportservice

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht