Replicare i dati di Microsoft Dynamics 365 (Online) nel database Microsoft Azure SQL

 

Data di pubblicazione: febbraio 2017

Si applica a: Dynamics 365 (online), Dynamics CRM Online

Nota

Le informazioni fornite qui sono destinate a versioni di Dynamics 365 precedenti a Dynamics 365 (Online), versione 9.0. Per la documentazione più recente, vedere Replicare i dati nel database di Azure SQL.

Microsoft Dynamics 365-Servizio di esportazione dati è un servizio di componente aggiuntivo disponibile in Microsoft AppSource che consente di aggiungere la funzionalità per replicare i dati di Microsoft Dynamics 365 (online) in un archivio di Database Microsoft Azure SQL per una sottoscrizione di Microsoft Azure di proprietà del cliente. Le destinazioni supportate sono Database Microsoft Azure SQL e SQL Server sulle macchine virtuali Microsoft Azure.Servizio di esportazione dati sincronizza intelligentemente tutti i dati Dynamics 365 e sincronizza in modo continuo mentre si verificano le modifiche (modifiche delta) nel sistema Microsoft Dynamics 365 (online). Questo abilita diversi scenari di analisi e report per i dati Dynamics 365 con i dati Azure e i servizi di analisi e apre nuove possibilità per i clienti e i partner per creare soluzioni personalizzate.

Nota

Puoi utilizzare Servizio di esportazione dati con:

  • Microsoft Dynamics 365 (online)

  • Aggiornamento di Microsoft Dynamics CRM Online 2016

Per informazioni sull'interfaccia programmatica per la gestione della configurazione e l'amministrazione di Servizio di esportazione dati, vedere MSDN: Servizio di esportazione dati.

In questo argomento

Prerequisiti per l'utilizzo di Servizio di esportazione dati

Servizi, credenziali e privilegi necessari

Che cosa è necessario sapere prima di usare il Servizio di esportazione dati

Profilo di esportazione

Creare un profilo di esportazione

Modificare un profilo di esportazione esistente

Dettagli della tabella per database SQL di Azure di destinazione

Risoluzione dei problemi di sincronizzazione

Monitoraggio e gestione degli errori

Procedure consigliate quando si utilizza il database Azure SQL con l'esportazione dei dati

Informazioni su latenza di sincronizzazione dei dati

Come configurare l'insieme di credenziali delle chiavi di Azure

Problemi noti e limitazioni

Prerequisiti per l'utilizzo di Servizio di esportazione dati

Per iniziare a utilizzare Servizio di esportazione dati, sono obbligatori questi prerequisiti.

Servizio Database SQL di Azure

  • Un cliente è proprietario di una sottoscrizione di Database SQL di Azure. La sottoscrizione deve abilitare il volume di dati da sincronizzare.

  • Impostazioni del firewall. Si consiglia di disattivare l'impostazione Consenti l'accesso a Servizi di Azure e specificare gli indirizzi IP client appropriati elencati in questo argomento. Per ulteriori informazioni, vedere Indirizzi IP statici del database SQL di Azure utilizzati dal servizio di esportazione di dati

    In alternativa, è possibile riattivare l'opzione Consenti l'accesso a Servizi di Azure per consentire l'accesso a tutti i servizi di Azure.

    Per SQL Server su macchine virtuali di Azure, deve essere abilitata l'opzione per la connessione a SQL Server tramite Internet. Ulteriori informazioni: Microsoft Azure: Connettersi a una macchina virtuale di SQL Server in Azure (distribuzione classica)

  • L'utente del database deve disporre delle autorizzazioni a livello di database e schema nelle tabelle seguenti. L'utente del database è utilizzato nella stringa di connessione di esportazione di dati.

    Autorizzazioni database obbligatorie.

    Codice tipo di autorizzazione

    Nome autorizzazione

    CRTB

    CREATE TABLE

    CRTY

    CREATE TYPE

    CRVW

    CREATE VIEW

    CRPR

    CREATE PROCEDURE

    ALUS

    ALTER ANY USER

    VWDS

    VIEW DATABASE STATE

    Autorizzazioni schema obbligatorie.

    Codice tipo di autorizzazione

    Nome autorizzazione

    AL

    ALTER

    IN

    INSERT

    DL

    CANC

    SL

    SELECT

    UP

    UPDATE

    EX

    EXECUTE

    RF

    REFERENCES

Servizio Insieme di credenziali delle chiavi di Azure

  • Il cliente è proprietario della sottoscrizione di Insieme di credenziali delle chiavi di Azure, utilizzata per la gestione sicura della stringa di connessione al database.

  • Concedere l'autorizzazione PermissionsToSecrets all'applicazione con id "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf." Questa operazione può essere effettuata eseguendo il comando AzurePowerShell seguente e viene utilizzata per accedere al servizio Insieme di credenziali delle chiavi di contenente la stringa di connessione segreta.Ulteriori informazioni:Come configurare l'insieme di credenziali delle chiavi di Azure

  • L'insieme di credenziali delle chiavi deve essere etichettato con gli ID del tenant (TenantId) dell'organizzazione (OrgId) di Microsoft Dynamics 365. Questa operazione può essere effettuata eseguendo il comando AzurePowerShell che segue.Ulteriori informazioni:Come configurare l'insieme di credenziali delle chiavi di Azure

Microsoft Dynamics 365 (online)

  • Un'istanza di Aggiornamento di Microsoft Dynamics CRM Online 2016 o versione successiva.

  • La soluzione Servizio di esportazione dati deve essere installata. Scaricala subito da Microsoft AppSource.

  • Le entità che verranno aggiunte al Profilo di esportazione devono essere abilitate con la registrazione modifiche. Per essere certi che un'entità standard o personalizzata possa essere sincronizzata passa a Personalizzazione > Personalizza il sistema e quindi fai clic sull'entità. Nella scheda Generale verificare che l'opzione Registrazione modifiche nella sezione Servizi dati sia abilitata.

  • È necessario disporre del ruolo di sicurezza di amministratore di sistema nell'istanza di Microsoft Dynamics 365 (online).

Web browser

Nel Web browser, abilitare i pop-up per il dominio https://discovery.crmreplication.azure.net/. Questa operazione è obbligatoria per l'accesso automatico quando si passa a Impostazioni > Esportazione dati.

Servizi, credenziali e privilegi necessari

Per utilizzare la funzionalità Servizio di esportazione dati, devi disporre dei servizi, delle credenziali e dei privilegi seguenti.

  • Una sottoscrizione Microsoft Dynamics 365 (online). Solo gli utenti assegnati al ruolo di sicurezza Amministratore di sistema in Microsoft Dynamics 365 possono installare o apportare modifiche a un Profilo di esportazione.

  • La sottoscrizione di Microsoft Azure che include i servizi seguenti.

    • Database SQL di Azure o AzureSQL Server su macchine virtuali Azure.

    • Insieme di credenziali delle chiavi di Azure.

Importante

Per utilizzare Servizio di esportazione dati i servizi Microsoft Dynamics 365 (online) e Insieme di credenziali delle chiavi di Azure devono essere nello stesso tenant e nella stessa Microsoft Azure Active Directory.Ulteriori informazioni:Integrazione di Azure con Office 365

Il servizio Database SQL di Azure può essere nello stesso tenant o in uno diverso rispetto a quello del Microsoft Dynamics 365 (online).

Che cosa è necessario sapere prima di usare il Servizio di esportazione dati

  • I profili di esportazione devono essere eliminati e quindi ricreati ogni volta che si esegue una delle seguenti azioni su un'istanza Microsoft Dynamics 365 (online).

    • Ripristina un'istanza.

    • Copia (completamente o parzialmente) un'istanza.

    • Reimpostare un'istanza.

    • Spostare un'istanza su un paese o area geografica diversi.

    A tale scopo, elimina Profilo di esportazione nella visualizzazione PROFILI DI ESPORTAZIONE, quindi eliminare le tabelle e stored procedure e quindi creare un nuovo profilo.Ulteriori informazioni:Come eliminare tutte le tabelle del profilo di esportazione di dati e le stored procedure

  • Il Servizio di esportazione dati non funziona per le istanze sandbox di Microsoft Dynamics 365 (online) configurate con l'opzione Abilita modalità di amministrazione selezionata.Ulteriori informazioni:Modalità di amministrazione

  • Servizio di esportazione dati non ignora (elimina) le tabelle, colonne o stored procedure associate nel Database SQL di Azure di destinazione quando vengono effettuate le azioni seguenti.

    • Un'entità viene eliminata in Microsoft Dynamics 365 (online).

    • Un campo viene eliminato in Microsoft Dynamics 365 (online).

    • Un'entità viene rimossa da un Profilo di esportazione.

    Questi elementi devono essere eliminati manualmente.Come eliminare le tabelle del profilo di esportazione di dati e le stored procedure per un'entità specifica

    Le notifiche di eliminazione dei metadati vengono registrate nella cartella unprocessablemessages.Monitoraggio e gestione degli errori

Profilo di esportazione

Per esportare i dati da Microsoft Dynamics 365 (online), l'amministratore di Microsoft Dynamics 365 (online) crea un Profilo di esportazione. È possibile creare più profili e attivarli per sincronizzare simultaneamente i dati in diversi database di destinazione.

Profilo di esportazione è il concetto principale del Servizio di esportazione dati.Profilo di esportazione raccoglie informazioni di installazione e configurazione per la sincronizzazione dei dati con il database di destinazione. Come parte del Profilo di esportazione, l'amministratore fornisce un elenco di entità da esportare nel database di destinazione. Dopo l'attivazione, Profilo di esportazione avvia la sincronizzazione automatica dei dati. Inizialmente, vengono esportati tutti i dati corrispondenti a ogni entità selezionata. Successivamente, utilizzando un meccanismo di push vengono sincronizzate costantemente quasi in tempo reale solo le modifiche apportate ai dati nei record dell'entità o nei metadati in Microsoft Dynamics 365 (online). Di conseguenza, non è necessario impostare una pianificazione per recuperare i dati da Microsoft Dynamics 365 (online).

Solo le entità con la registrazione delle modifiche abilitata possono essere aggiunte a Profilo di esportazione. Si noti che, la maggior parte delle entità di Microsoft Dynamics 365 standard per l'acquisizione dei dati sono abilitate per la registrazione delle modifiche. Le entità personalizzate devono essere abilitate in modo esplicito per la registrazione delle modifiche prima di poterle aggiungere a un Profilo di esportazione.Ulteriori informazioni:Abilitare la registrazione delle modifiche per controllare la sincronizzazione dei dati

Servizio di esportazione dati esegue sia la sincronizzazione dei dati che dei metadati. Ogni entità viene tradotta in una tabella e ogni campo in un colonna nella tabella del database di destinazione. I nomi della colonna e della tabella utilizzano il nome dello schema dei metadati di Microsoft Dynamics 365.

Dopo averlo attivato, un Profilo di esportazione raccoglie le statistiche per la sincronizzazione dei dati che facilità la visibilità operativa e la diagnostica dei dati esportati.

Sincronizzazione dei dati disponibile con un profilo di esportazione

Categorie

Funzionalità

Tipi di dati supportati

Sincronizzazione iniziale

Metadati - Tipi di dati di base

Dati di tipo: numero intero, numero a virgola mobile, numero decimale, singola riga di testo, testo multilinea, data e ora.

Sincronizzazione iniziale

Metadati - Tipi di dati avanzati

Valuta, PartyList, set di opzioni, stato, motivo stato, lookup (inclusi tipo lookup Tipo relativo e Cliente). PartyList è disponibile solo nella versione di esportazione 8.1 e successive.

Sincronizzazione iniziale

Dati - Tipi di dati di base

Tutti i tipi di dati di base.

Sincronizzazione iniziale

Dati - Tipi avanzati

Tutti i tipi di dati avanzati.

Sincronizzazione delta

Schema di modifica - Tipi di base

Aggiungi o modifica il cambio di campo, tutti i tipi di dati di base.

Sincronizzazione delta

Schema di modifica - Tipi avanzati

Aggiungi o modifica il cambio di campo, tutti i tipi di dati avanzati.

Sincronizzazione delta

Dati di modifica - Tipi di base

Tutti i tipi di dati di base.

Sincronizzazione delta

Dati di modifica - Tipi avanzati

Tutti i tipi di dati avanzati, come PartyList.

Creare un profilo di esportazione

Verificare che i requisiti seguenti siano soddisfatti prima di creare un Profilo di esportazione.

  • La soluzione Servizio di esportazione dati è installata nell'istanza di Microsoft Dynamics 365 (online).

  • Mantenere la stringa di connessione del Database di SQL nell'Insieme di credenziali delle chiavi di e copiare l'URL Insieme di credenziali delle chiavi di da fornire nel Profilo di esportazione. Ulteriori informazioni: Microsoft Azure: Introduzione all'insieme di credenziali delle chiavi di Azure

  • Le entità da aggiungere al Profilo di esportazione sono abilitate con la registrazione modifiche.Ulteriori informazioni:Abilitare la registrazione delle modifiche per controllare la sincronizzazione dei dati

  • Il servizio Database di SQL dispone di sufficiente spazio di archiviazione per l'archiviazione dei dati di Microsoft Dynamics 365.

  • L'utente è un amministratore di sistema nell'istanza di Microsoft Dynamics 365 (online).

  1. In Microsoft Dynamics 365 (online), andare a Impostazioni > Esportazione dati.

  2. Controllare l'avviso e fare clic su Continua o su Annulla se non si desidera esportare i dati.

  3. Fare clic su Nuovo per creare un nuovo Profilo di esportazione.

  4. Nel passaggio Proprietà, immettere le informazioni seguenti e quindi fare clic Avanti per continuare senza connettersi all'Insieme di credenziali delle chiavi di . Facendo clic su Convalida viene utilizzato l'URL dell'Insieme di credenziali delle chiavi di fornito per connettersi all'Insieme di credenziali delle chiavi di .

    • Nome. Nome univoco del profilo. Questo campo è obbligatorio.

    • URL di connessione dell'insieme di credenziali delle chiavi.Insieme di credenziali delle chiavi di URL che indica la stringa di connessione archiviata con le credenziali utilizzate per connettersi al database di destinazione. Questo campo è obbligatorio.Ulteriori informazioni:Come configurare l'insieme di credenziali delle chiavi di Azure

      Importante

      L'URL di connessione dell'insieme di credenziali delle chiavi applica la distinzione tra maiuscole e minuscole. Immetti l'URL di connessione dell'insieme di credenziali delle chiavi esattamente come viene visualizzato dopo l'esecuzione dei comandi Windows PowerShell in questo argomento.

    • Schema. Nome per uno schema alternativo del database. Sono validi solo caratteri alfanumerici. Questo campo è facoltativo. Per impostazione predefinita, dbo è lo schema utilizzato per la destinazione del Database di SQL.

    • Prefisso. Prefisso da utilizzare per i nomi la tabella creati nel database di destinazione. Semplifica l'identificazione delle tabelle create per il Profilo di esportazione nel database di destinazione. Quando specificato, verificare che il prefisso sia meno di 15 caratteri. Questo campo è facoltativo e solo caratteri alfanumerici sono consentiti.

    • Numero tentativi. Il numero di volte che è possibile riprovare un record nel caso di errore nel processo di inserimento o aggiornamento nella tabella di destinazione. Questo campo è obbligatorio. I valori accettabili sono 0-20 e il valore predefinito è 12.

    • Intervallo tentativi. Il numero di secondi da attendere prima di un altro tentativo nel caso di un errore. Questo campo è obbligatorio. I valori accettabili sono 0-3600 e il valore predefinito è 5.

    • Scrivi log di eliminazione. Impostazione facoltativa per la registrazione dei record eliminati.

    Scheda Proprietà nella finestra di dialogo Crea profilo di esportazione

  5. Nel passaggio Seleziona entità, selezionare le entità da esportare nella destinazione di Database di SQL e quindi fare clic su Avanti.

    Selezionare la scheda Entità nella finestra di dialogo Crea profilo di esportazione

  6. Nel passaggio Seleziona le relazioni, è possibile sincronizzare le relazioni N:N (molti-a-molti) esistenti con le entità è selezionate nel passaggio precedente. Fare clic su Avanti.

    Creare il profilo di esportazione - Gestire relazioni - Selezionare relazioni

  7. Nel passaggio Riepilogo, fare clic su Creare e attivare per creare il record del profilo e connettersi all'Insieme di credenziali delle chiavi di per avviare il processo di sincronizzazione. In caso contrario, fare clic su Creare per salvare il Profilo di esportazione e per attivarlo più avanti.

    Scheda Riepilogo nella finestra di dialogo Crea profilo di esportazione

Modificare un profilo di esportazione esistente

È possibile aggiungere o rimuovere le entità e le relazioni in un Profilo di esportazione esistente che si desidera replicare.

  1. In Microsoft Dynamics 365 (online) andare a Impostazioni > Esportazione dati.

  2. Nella visualizzazione Tutti i profili di esportazione dei dati selezionare il Profilo di esportazione da modificare.

    Selezione di un profilo di esportazione

  3. Sulla barra degli strumenti Azioni, fare clic su GESTISCI ENTITÀ per aggiungere o rimuovere le entità per l'esportazione di dati. Per aggiungere o rimuovere le relazioni di entità, clic su GESTISCI RELAZIONI.

    Gestione di entità o relazioni di entità

  4. Selezionare le entità o la relazione di entità da aggiungere o rimuovere dal profilo.

    Selezionare le entità o la relazione di entità da aggiungere o rimuovere

  5. Fare clic su Aggiorna per inviare le modifiche a Profilo di esportazione.

Importante

Se rimuovi un'entità o una relazione di entità da un Profilo di esportazione la tabella corrispondente nel database di destinazione non viene rimossa. Prima di poter aggiungere di nuovo un'entità che è stata rimossa, devi rimuovere la tabella corrispondente nel database di destinazione. Per rimuovere una tabella di entità, vedi Come eliminare le tabelle del profilo di esportazione di dati e le stored procedure per un'entità specifica.

Dettagli della tabella per database SQL di Azure di destinazione

Il Servizio di esportazione dati crea tabelle sia per i dati che per i metadati. Una tabella viene creata per ogni entità e per la relazione N:N che viene sincronizzata.

Una volta attivato il Profilo di esportazione, le tabelle vengono create nel database di destinazione. Sono tabelle di sistema e non avranno i campi SinkModifiedTime e SinkCreatedTime aggiunti.

Nome della tabella

Creata

<Prefisso>_GlobalOptionsetMetadata

All'attivazione di Profilo di esportazione.

<Prefisso>_OptionsetMetadata

All'attivazione di Profilo di esportazione.

<Prefisso>_StateMetadata

All'attivazione di Profilo di esportazione.

<Prefisso>_StatusMetadata

All'attivazione di Profilo di esportazione.

<Prefisso>_TargetMetadata

All'attivazione di Profilo di esportazione.

<Prefisso>_AttributeMetadata

All'attivazione di Profilo di esportazione.

<Prefisso>_DeleteLog

All'attivazione di Profilo di esportazione quando l'opzione di registro di eliminazione del registro è abilitata.

Risoluzione dei problemi di sincronizzazione

Anche dopo diversi tentativi, potrebbero verificarsi errori di sincronizzazione a causa dei vincoli di archiviazione del database o del blocco della tabella dovuto a query a esecuzione prolungata. Per risolvere tali errori è possibile forzare una risincronizzazione dei soli record non riusciti o una risincronizzazione di tutti i record.

  1. Visualizza i profili di esportazione per cercarne uno con errori di sincronizzazione dei record. A tale scopo visualizzi i profili di dati nell'area di sincronizzazione o apri un Profilo di esportazione, ad esempio il profilo con un errore di sincronizzazione del record di entità Contatto.

    DataExport_failed_records_exist

  2. Esamina l'origine dell'errore di sincronizzazione e risolvilo.Ulteriori informazioni:Monitoraggio e gestione degli errori

  3. Una volta risolto il problema, risincronizza i record non riusciti.

    Nota

    La sincronizzazione dei record non riusciti è una funzionalità di anteprima pubblica.

    • Le funzionalità di anteprima non sono complete, ma sono rese disponibili prima che siano ufficialmente rilasciate, in modo che i clienti possano ottenere un accesso anticipato e possano fornire commenti. Le funzionalità di anteprima sono per uso di produzione e possono essere funzionalità limitate.

    • Sono previste modifiche in questa funzionalità, quindi non utilizzarla nell'ambiente di produzione. Utilizzarla solo in ambiente di prova e di sviluppo.

    • Microsoft non offre supporto per questa funzionalità di anteprima. Il supporto tecnico Microsoft Dynamics 365 non sarà in grado di aiutare in caso di problemi o domande. Le funzionalità di anteprima non hanno lo scopo di essere utilizzate per la produzione e sono soggette a distinte condizioni per l'utilizzo supplementari.

    1. Accedi all'istanza di Microsoft Dynamics 365 (online) e passa a Impostazioni > Esportazione dati.

    2. Apri il Profilo di esportazione che include gli errori di sincronizzazione dei record.

    3. Nella barra degli strumenti Profilo di esportazione fa clic su NUOVA SINCRONIZZAZIONE RECORD CON ERRORE.

    4. Fai clic su OK se la risincronizzazione dei record non riusciti viene completata nella finestra di dialogo di conferma.

      Notifica di risincronizzazione completata

    5. Verifica che il Profilo di esportazione non contenga notifiche di record non riusciti aprendo il profilo di esportazione dati e visualizzando il contatore Notifiche di errore nella scheda PROPRIETÀ E PANORAMICA che deve riportare 0. Fai clic su AGGIORNA sulla barra degli strumenti del Profilo di esportazione per verificare il valore corrente di Notifiche di errore.

      Indicazione zero record non riusciti

  4. Se gli errori di sincronizzazione record persistono dopo aver provato a risincronizzare tramite i passaggi precedenti, elimina le tabelle, i tipi e stored procedure dal database di destinazione e quindi rimuovi e aggiungi di nuovo le entità al Profilo di esportazione.

    1. Elimina gli oggetti di database associati nel Database SQL di Azure di destinazione. Ad esempio, se si verificano problemi persistenti di sincronizzazione di entità lead, eliminare le tabelle, i tipi e le stored procedure dei lead dal Database SQL di Azure di destinazione.Ulteriori informazioni:Come eliminare le tabelle del profilo di esportazione di dati e le stored procedure per un'entità specifica

    2. Rimuovere l'entità, come l'entità lead, dal Profilo di esportazione.Ulteriori informazioni:Modificare un profilo di esportazione esistente

    3. Aggiungere un'entità, come l'entità lead, nel Profilo di esportazione e quindi attivare il profilo.

Monitoraggio e gestione degli errori

Per visualizzare lo stato della sincronizzazione di un Profilo di esportazione, vai a Impostazioni > Esportazione dati e apri il Profilo di esportazione. Nella scheda ENTITÀ, lo stato di sincronizzazione viene visualizzato con inclusa una colonna Record con errore per i record che non è stato possibile sincronizzare. Per tutti i record con errore, è possibile scaricare un elenco dei record, che include il motivo stato, facendo clic su RECORD CON ERRORE sulla barra dei comandi.

Barra di comando profilo di esportazione - Pulsante Record con errore

Nel Profilo di esportazione è possibile fare clic su PROPRIETÀ E PANORAMICA per visualizzare le proprietà del profilo. Fare clic SU RELAZIONI per visualizzare lo stato della sincronizzazione delle relazioni.

Come visualizzare informazioni dettagliate sui record con errore di sincronizzazione

La visualizzazione dei registri record non riusciti può essere utile per stabilire la causa degli errori di sincronizzazione. Per visualizzare i record con errore nel database di destinazione Azure, utilizzare Microsoft Azure Storage Explorer, un'app autonoma gratuita che consente di lavorare facilmente i dati di Archiviazione di Azure. Ulteriori informazioni: Microsoft Azure Storage Explorer.

  1. In Dynamics 365, andare a Impostazioni > Esportazione dati.

  2. Nella visualizzazione Tutti i profili di esportazione dei dati selezionare il Profilo di esportazione con notifiche con errore.

    Notifiche di errore

  3. Nella barra degli strumenti Azioni fare clic su RECORD CON ERRORE.

    Pulsante della barra degli strumenti Record con errore

  4. Nella finestra di dialogo Record download non riusciti fare clic su Copia URL BLOB e quindi su OK.

    Finestra di dialogo Record download non riusciti

    Nota

    L'URL BLOB è valido per 24 ore. Se l'URL supera le 24 ore, ripetere i passaggi descritti in precedenza in modo da generare un nuovo URL BLOB.

  5. Avviare Microsoft Azure Storage Explorer.

  6. In Microsoft Azure Storage Explorer fare clic su Connetti ad Archiviazione di Azure.

  7. Incollare l'URL dagli appunti nella casella Connetti ad Archiviazione di Azure e quindi fare clic Avanti.

    URL di archiviazione

  8. Nella pagina di riepilogo connessione fare clic su Connettiti.

  9. Azure Storage Explorer si connette al database di destinazione. Se sono presenti record non riusciti per Profilo di esportazione, Azure Storage Explorer visualizza le cartelle di sincronizzazione dei record non riusciti.

Struttura delle cartelle di sincronizzazione dei record non riusciti e file di registro

L'URL dell'Archiviazione BLOB di Azure dei record non riusciti indica un percorso con la seguente struttura di cartelle:

  • data. Questa cartella contiene le notifiche di dati non riusciti e il JSON associato per i dati record.

  • metadata. Questa cartella contiene le notifiche di metadati non riusciti e il JSON associato per i metadati record.

  • failurelog. Questa cartella contiene i registri che offrono informazioni sull'errore di sincronizzazione e il motivo per cui si è verificato l'errore.

  • forcerefreshfailurelog. Questa cartella contiene gli errori dell'ultima esecuzione del comando Record non riusciti di Servizio di esportazione dati utilizzato per risincronizzare i record non riusciti.

  • unprocessablemessages. Questa cartella contiene le notifiche di dati che non sono stati elaborati a causa dell'eliminazione dei dati o dei metadati e dei JSON associati.

Le cartelle failurelog and forcerefreshfailurelog sono strutturate come Anno\Mese\Giorno\Ora in modo che sia possibile individuare rapidamente gli errori più recenti. Tutti i record con errore anteriori ai 30 giorni vengono eliminati.

Ecco un file di registro di esempio che indica un errore di sincronizzazione record dell'entità di contatto.

Entità: contatto, IDRecord: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, Data e ore di notifica: 28/12/2016 00:32:39, Tipo di modifica: Aggiornamento, MotivoErrore: il database 'tempdb' ha raggiunto la quota di dimensioni. Analizzare o eliminare i dati, eliminare gli indici o consultare la documentazione per trovare le soluzioni possibili. L'istruzione è stata interrotta.

Motivi più comuni degli errori di sincronizzazione record

Di seguito sono riportati alcuni motivi per cui possono verificarsi errori di sincronizzazione dei record.

  • Archiviazione insufficiente per il database di destinazione. Prima di tentare la risincronizzazione dei record non riusciti, aumenta o libera lo spazio del Database SQL di Azure come appropriato. Quando si verifica il problema, un messaggio analogo a questo viene registrato nel registro degli errori.

    Il database "nomedatabase" ha superato la propria quota dimensioni. Analizzare o eliminare i dati, eliminare gli indici o consultare la documentazione per trovare le soluzioni possibili.

  • Timeout della sincronizzazione con Database SQL di Azure. Questo problema può verificarsi durante la sincronizzazione iniziale di un profilo di esportazione dati quando grandi quantità di dati vengono elaborate contemporaneamente. Quando si verifica il problema, risincronizza i record non riusciti.Risoluzione dei problemi di sincronizzazione

Procedure consigliate quando si utilizza il database Azure SQL con l'esportazione dei dati

  • Per evitare errori di sincronizzazione a causa di limitazioni di risorsa è consigliabile disporre di un Database SQL di Azure Premium P1 o piano migliore quando utilizzi il Servizio di esportazione dati.Ulteriori informazioni:Limiti di risorsa del database Azure SQL e Prezzi del database SQL

  • Imposta il Database SQL di Azure per usare l'isolamento RCSI (Read Committed Snapshot Isolation) per i carichi di lavoro che vengono eseguiti simultaneamente nel database di destinazione che esegue query di lettura a esecuzione prolungata ad esempio la creazione di report e i processi ETL. Questo consente di ridurre gli errori di timeout che possono verificarsi con il Servizio di esportazione dati a causa dei conflitti di lettura\scrittura.

Informazioni su latenza di sincronizzazione dei dati

Servizio di esportazione dati è progettato per sincronizzare le modifiche ai dati nel database di destinazione utilizzando un meccanismo di spinta tramite l'ascolto delle modifiche mentre si verificano in Dynamics 365. Il servizio si sforza di eseguire i dati in pochi minuti, ma vi sono diversi fattori che possono influenzare la latenza di sincronizzazione end-to-end.

I fattori che influenzano la durata di sincronizzazione in questione sono:

  • Il carico di lavoro corrente in Dynamics 365.

  • La frequenza di modifica dei dati in Dynamics 365.

  • Il numero di entità aggiunte a ogni profilo dell'esportazione e i relativi attributi.

  • Prestazioni di SQL Server. Ad esempio:

    • Ora di configurazione della connessione di SQL.

    • Ora di esecuzione dell'istruzione SQL.

A seconda del monitoraggio del servizio è stato osservato che la maggior parte della sincronizzazione delta in corso termina in 15 minuti quando il servizio funziona nelle seguenti condizioni:

  • La sincronizzazione che si verifica è una sincronizzazione delta e non la sincronizzazione iniziale. La sincronizzazione delta è disponibile solo per le operazioni di modifica dei dati, che includono transazioni per la creazione, l'aggiornamento e l'eliminazione di record. La sincronizzazione delta inizia una volta che la sincronizzazione iniziale è finita.

  • La frequenza massima di modifica dei dati in Dynamics 365 per tutte le entità nel profilo di esportazione è inferiore a 3000 record all'ora. Qualsiasi improvviso incremento della frequenza di modifica dei dati a causa della modifica in blocco dei record che superano la frequenza massima di modifica causerà latenza aggiuntiva.

  • Ogni entità aggiunta a un profilo di esportazione ha meno di 150 attributi.

  • L'esecuzione di istruzioni SQL o la connessione al database termina in meno di 10 secondi. Il superamento di questo limite avrà come conseguenza latenza aggiuntiva.

  • Nessun errore di connessione al database di destinazione né di esecuzione di SQL avviene durante la sincronizzazione.

Quando le condizioni indicate sopra vengono soddisfatte, 15 minuti sono una latenza normale di sincronizzazione.Microsoft non offre alcun contratto di servizio (SLA) per Servizio di esportazione dati né rilascia alcuna garanzia o assume impegni riguardanti i tempi di latenza della sincronizzazione.

Come configurare l'insieme di credenziali delle chiavi di Azure

Eseguire lo script Windows PowerShell descritto usando un account come amministratore di Azure per concedere l'autorizzazione alla funzionalità del Servizio di esportazione dati per accedere all'insieme di credenziali delle chiavi di Azure. Questo script visualizza l'URL dell'insieme di credenziali delle chiavi di Azure richiesto per creare il Profilo di esportazione utilizzato per accedere alla stringa di connessione.

Prima di eseguire lo script, sostituire i segnaposto per le variabili seguenti.

  • $subscriptionId. L'ID abbonamento di Azure. L'ID di sottoscrizione viene visualizzato quando si esegue il comando Login-AzureRmAccount.

  • $keyvaultName. Selezionare un nome per un Insieme di credenziali delle chiavi di nuovo o esistente. Il nome viene utilizzato per fare riferimento all'Insieme di credenziali delle chiavi di . In questo esempio, viene utilizzato ContosoKeyVault. È necessario utilizzare questo nome per altri cmdlet dell'Insieme di credenziali delle chiavi di .

  • $secretName. Specificare il nome utilizzato per la chiave protetta da software per l'Insieme di credenziali delle chiavi di . Se una chiave protetta non esiste, verrà creata tramite il nome segreto specificato. In questo esempio, viene utilizzato ContosoDataExportSecret.

  • $resourceGroupName. Specificare il nome del gruppo di risorse di Azure che si desidera utilizzare. Se un gruppo di risorse non esiste, verrà creato un nuovo gruppo con il nome specificato. In questo esempio, viene utilizzato ContosoResourceGroup1.

  • $location. Specificare la posizione in cui il gruppo di risorse si trova, o dovrebbe trovarsi, ad esempio Stati Uniti occidentali.

  • $connectionString. La stringa di connessione al Database Microsoft Azure SQL. È possibile utilizzare la stringa di connessione di ADO.NET come visualizzata nel dashboard Azure in uso.

  • $organizationIdList = Elenco separato da virgola delle organizzazioni Microsoft Dynamics 365 consentite, elencate in base all'ID dell'organizzazione (organizationId), da abilitare per il Servizio di esportazione dati. Per trovare l'ID di un'organizzazione, in Microsoft Dynamics 365 passare a > ImpostazioniPersonalizzazioni > Risorse per sviluppatori. L'ID organizzazione si trova nelle informazioni di riferimento dell'istanza.

  • $tenantId. Specifica l'ID del tenant di Azure Active Directory a cui sono associate le istanze di Microsoft Dynamics 365. Per ulteriori informazioni, vedere Cercare l'ID tenant di Azure Active Directory per le istanze 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)"" 

Come eliminare tutte le tabelle del profilo di esportazione di dati e le stored procedure

Importante

  • Prima di eseguire questa istruzioni SQL verificare di aver definito correttamente i valori di @prefix e @schema nell'istruzione.

  • Profilo di esportazione deve essere ricreato dopo che esegui l'istruzione SQL.

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

Come eliminare le tabelle del profilo di esportazione di dati e le stored procedure per un'entità specifica

Importante

Prima di eseguire questa istruzioni SQL verificare di aver definito correttamente i valori @prefix, @schema ed @entityName nell'istruzione. In questo esempio, la tabella, i tipi e stored procedure di entità lead vengono eliminati.

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

Cercare l'ID tenant di Azure Active Directory per le istanze Dynamics 365

  1. Accedi al portale di Azure.

  2. Vai a Azure Active Directory > Registrazioni per l'app > Endpoint.

  3. L'ID del tenant viene visualizzato negli URL endpoint elencati con la sottoscrizione Azure.

Importante

Una sottoscrizione Azure può avere più ID tenant di Azure Active Directory. Assicurati di selezionare l'ID del tenant Azure Active Directory corretto associato all'istanza di Microsoft Dynamics 365 che utilizzerai per l'esportazione di dati.

Indirizzi IP statici del database SQL di Azure utilizzati dal servizio di esportazione di dati

In Database SQL di Azure fare clic su Imposta firewall server, impostare Consenti l'accesso a Servizi di Azure su DISATTIVATO, fare clic su Aggiungi IP client, quindi aggiungere gli indirizzi IP appropriati per l'area del Database SQL di Azure.Ulteriori informazioni:Microsoft Azure: Configurare una regola firewall a livello di server per il database SQL di Azure tramite il portale di Azurel

Area

Indirizzo IP

Stati Uniti occidentali

40.112.139.218

Stati Uniti orientali

23.96.92.86

Europa occidentale

40.68.252.224

Asia orientale

52.175.24.148

Sud-est asiatico

52.163.231.218

India centrale

52.172.191.195

India meridionale

52.172.51.15

Europa settentrionale

52.169.117.212

Giappone occidentale

138.91.22.196

Giappone orientale

13.73.7.177

Brasile meridionale

191.235.81.249

Australia sud-orientale

40.115.78.163

Australia orientale

13.73.202.160

Canada centrale

52.228.26.31

Canada orientale

40.86.251.81

Regno Unito meridionale

51.140.71.166

Regno Unito occidentale

51.141.44.218

Problemi noti e limitazioni

I record eliminati possono essere reinseriti nella tabella di entità dopo un errore di sincronizzazione

Quando esegui il recupero dagli errori di sincronizzazione, i record precedentemente eliminati possono essere reinseriti nuovamente nella tabella di entità di origine. Per risolvere il problema quando si verificano errori di sincronizzazione, esegui la procedura seguente.

  1. Crea i profili di esportazione con l'opzione Scrivi log di eliminazione abilitata. Ricrea i profili di esportazione esistenti senza l'opzione Scrivi log di eliminazione abilitata.

  2. Crea ed esegui una query SQL per il database Azure SQL di destinazione per cercare i record nella tabella DeleteLog. Se vengono trovati uno o più record, indica la presenza di record eliminati.

  3. Se uno o più record sono presenti nella tabella DeleteLog, crea ed esegui una query SQL che rileva le istanze in cui l'ID record per un record trovato nella tabella DeleteLog corrisponde all'ID record di un record in una tabella EntityName e versionNumber in deleteLog è maggiore di versionNumber nel record della tabella EntityName. Quando si verifica una corrispondenza di ID record, elimina il record dalla tabella EntityName. Ad esempio, se un ID record nella colonna AccountId della tabella DeleteLog corrisponde a un ID record nella colonna AccountId della tabella di entità AccountBase e versionNumber in DeleteLog è maggiore di versionNumber nella tabella Account, elimina il record dalla tabella di entità AccountBase.

    Importante

    A seconda delle esigenze e dei requisiti aziendali, è consigliabile eseguire frequentemente le query SQL per l'eliminazione dei record, ma durante le ore non operative.

Query di esempio per l'eliminazione di record di entità.

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)

Entità che non supportano l'esportazione dei dati

Le entità elencate di seguito, sebbene non supportino la registrazione delle modifiche, non sono supportate per l'esportazione dei dati tramite il Servizio di esportazione dati.

Entità

Nome della tabella

Soluzione

Impegno

ActivityPointerBase

Selezionare le entità di impegno specifiche per l'esportazione, ad esempio Telefonata, Appuntamento, Posta elettronica e Attività.

Informativa sulla privacy

Utilizzando Servizio di esportazione dati, quando attivi un profilo di esportazione dati da Microsoft Dynamics 365, i dati relativi alle entità aggiunte al profilo vengono inviati a Azure. La sincronizzazione iniziale include tutti i dati associati alle entità aggiunte al profilo di esportazione, ma successivamente la sincronizzazione includerà solo le nuove modifiche che vengono costantemente inviate al servizio di esportazione dati. I dati inviati a Servizio di esportazione dati vengono temporaneamente archiviati in Bus di servizio di Azure e Archiviazione di Azure, elaborati in Azure Service Fabric e infine sincronizzati (inseriti, aggiornati o eliminati) nel database di destinazione specificato nella tua sottoscrizione Azure. Una volta sincronizzati, i dati vengono eliminati da Bus di servizio di Azure e Archiviazione di Azure. Se si verifica un errore durante la sincronizzazione dei dati, i dati minimi corrispondenti a tipo di entità, ID record e timestamp di sincronizzazione vengono archiviati in Azure per consentire il download di un elenco dei record che non sono stati aggiornati.

L'amministratore può disattivare in qualsiasi momento il profilo di esportazione dei dati per interrompere la sincronizzazione dei dati. Può inoltre eliminare il profilo di esportazione per rimuovere tutti i registri dei record con errore e disinstallare la soluzione Servizio di esportazione dati per interromperne l'utilizzo.

La sincronizzazione dei dati tra Dynamics 365 e il servizio di esportazione dati viene eseguita in modo continuativo e sicuro. I dati vengono crittografati e costantemente scambiati tra Dynamics 365 e il servizio di esportazione dati.

I componenti e i servizi di Azure interessati dalla funzionalità Servizio di esportazione dati sono descritti in dettaglio nelle sezioni che seguono.

Nota: per ulteriori informazioni sulle offerte di servizi aggiuntivi di Azure, vedi la pagina Centro protezione di Microsoft Azure.

Azure Service Fabric

Questo servizio offre l'API e le macchine virtuali Azure di calcolo per elaborare le notifiche di sincronizzazione dei record ricevute da Dynamics 365 e utilizzarle per inserire, aggiornare o eliminare i dati dei record nel database di destinazione. I microservizi distribuiti sulle macchine virtuali gestite dal runtime di Azure Service Fabric gestiscono tutti i servizi di calcolo correlati alla sincronizzazione dei dati.

Bus di servizio di Azure

Questo servizio offre il bus dei messaggi in cui Dynamics 365 inserisce i messaggi di notifica della sincronizzazione elaborati dai nodi di calcolo in Azure Service Fabric. In ciascun messaggio sono memorizzate informazioni quali l'ID e il record dell'organizzazione per cui sincronizzare i dati. I dati inclusi in Bus di servizio di Azure non sono crittografati a riposo, ma sono accessibili solo dal servizio di esportazione dati.

Archiviazione BLOB di Azure

I dati vengono temporaneamente archiviati in Archivio BLOB di Azure nel caso in cui la notifica di sincronizzazione del record contenga troppi dati che non possono essere memorizzati in un messaggio o si verifichi un errore temporaneo durante l'elaborazione della notifica di sincronizzazione. Questi blob sono crittografati mediante la funzionalità più recente di Azure Storage SDK, che fornisce il supporto per la crittografia simmetrica e asimmetrica e l'integrazione con Insieme di credenziali delle chiavi di Azure.

SQL Azure

Nel Database SQL di Azure vengono archiviate la configurazione del profilo di esportazione dei dati e le metriche di sincronizzazione dei dati.

Vedere anche

AppSource: Microsoft Dynamics 365 - Servizio di esportazione dati
Novità di Dynamics 365 - Servizio di esportazione dati
Gestire i dati
MSDN: Servizio di esportazione dati
Blog del team: Introduzione a Dynamics 365 - Servizio di esportazione dati

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright