Compartilhar via


Replicar dados do Microsoft Dynamics 365 (online) no Banco de Dados SQL do Microsoft Azure

 

Publicado: fevereiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics CRM Online

Dica

As informações fornecidas aqui são para versões do Dynamics 365 antes do Dynamics 365 (online), versão 9.0. Para obter a documentação mais recente, consulte Replicar dados do Banco de Dados SQL do Azure.

O Microsoft Dynamics 365-Serviço de Exportação de Dados é um serviço complementar disponibilizado no Microsoft AppSource que adiciona a capacidade de replicar dados do Microsoft Dynamics 365 (online) em um repositório do Banco de Dados SQL do Microsoft Azure em uma assinatura do Microsoft Azure de propriedade do cliente. Os destinos com suporte são Banco de Dados SQL do Microsoft Azure e SQL Server nas máquinas virtuais do Microsoft Azure. O Serviço de Exportação de Dados sincroniza inicialmente de maneira inteligente todos os dados do Dynamics 365 e depois sincroniza de modo contínuo conforme ocorrerem alterações (alterações delta) no sistema do Microsoft Dynamics 365 (online). Isso também ajuda a habilitar vários cenários de análise e de relatório sobre os dados do Dynamics 365 com os serviços de dados e de análise do Azure e abre novas possibilidades para que os clientes e os parceiros criem soluções personalizadas.

Dica

Você pode usar o Serviço de Exportação de Dados com:

  • Microsoft Dynamics 365 (online)

  • Atualização do Microsoft Dynamics CRM Online 2016

Para saber mais sobre a interface programática para gerenciar a configuração e a administração do Serviço de Exportação de Dados, consulte MSDN: Serviço de Exportação de Dados.

Neste tópico

Pré-requisitos para usar o Serviço de Exportação de Dados

Serviços, credenciais e privilégios necessários

O que você deve saber antes de usar o Serviço de Exportação de Dados

Perfil de exportação

Criar um Perfil de Exportação

Modificar um perfil existente de exportação

Detalhes de tabelas do Banco de Dados SQL do Azure de destino

Resolvendo problemas de sincronização

Tratamento de erros e monitoramento

Melhores práticas ao usar o Banco de Dados SQL do Azure com a Exportação de Dados

Sobre a latência de sincronização de dados

Como configurar o Azure Key Vault

Limitações e problemas conhecidos

Pré-requisitos para usar o Serviço de Exportação de Dados

Para começar a usar o Serviço de Exportação de Dados, os pré-requisitos a seguir são necessários:

Serviço de Banco de Dados SQL do Azure

  • Uma assinatura do Banco de Dados SQL do Azure de propriedade do cliente. Essa assinatura deve permitir o volume de dados sincronizados.

  • Configurações do firewall. Recomendamos que você desative a opção Permitir acesso a serviços do Azure e especifique os endereços IP do cliente adequados neste tópico. Mais Informações: Os endereços de IP estáticos do banco de dados do Azure SQL usados pelo Serviço de Exportação de Dados

    Como alternativa, é possível ativar a opção Permitir acesso a serviços do Azure para permitir todo acesso aos serviços do Azure.

    Para o SQL Server, na VM do Azure, a opção "Conectar ao SQL Server pela Internet" deve estar habilitada. Mais informações: Microsoft Azure: Conectar uma a máquina virtual do SQL Server no Azure (implantação clássica)

  • O usuário do banco de dados deve ter permissões no nível do banco de dados e no nível do esquema de acordo com as tabelas a seguir. O usuário do banco de dados é usado na cadeia de conexão de exportação de dados.

    Permissões do banco de dados necessárias.

    Código do tipo de permissão

    Nome da permissão

    CRTB

    CRIAR TABELAS

    CRTY

    CRIAR TIPO

    CRVW

    CRIAR EXIBIÇÃO

    CRPR

    CRIAR PROCEDIMENTO

    ALUS

    ALTERAR QUALQUER USUÁRIO

    VWDS

    EXIBIR ESTADO DO BANCO DE DADOS

    Permissões de esquema necessárias.

    Código do tipo de permissão

    Nome da permissão

    AL

    ALTERAR

    IN

    INSERIR

    DL

    EXCLUIR

    SL

    SELECIONAR

    UP

    ATUALIZAR

    EX

    EXECUTAR

    RF

    REFERÊNCIAS

Serviço Azure Key Vault

  • A assinatura do Cofre de Chaves do Azure de propriedade do cliente, que é usada para manter segura a cadeia de conexão do banco de dados.

  • Conceda a permissão de PermissionsToSecrets ao aplicativo com a ID "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf". Isso pode feito executando-se o comando AzurePowerShell abaixo e é usado para acessar o Cofre de Chave do que contém o segredo da cadeia de conexão.Para obter mais informações:Como configurar o Azure Key Vault

  • O Cofre de Chaves deve ser marcado com as IDs organização (OrgId) e locatário (TenantId) do Microsoft Dynamics 365. Isso pode ser feito executando-se o comando AzurePowerShell abaixo.Para obter mais informações:Como configurar o Azure Key Vault

Microsoft Dynamics 365 (online)

  • Uma instância do Atualização do Microsoft Dynamics CRM Online 2016 ou versão posterior.

  • A solução Serviço de Exportação de Dados deve estar instalada. Obtenha-a agora no Microsoft AppSource.

  • As entidades que serão adicionadas ao Perfil de Exportação devem ser habilitadas com o controle de alterações. Para garantir que uma entidade padrão ou personalizada possa ser sincronizada, vá para Personalização > Personalizar o Sistema e clique na entidade. Na guia Geral, verifique se a opção Controle de Alterações na seção Serviços de Dados está habilitada.

  • Você deve ter o direito de acesso de Administrador do Sistema na instância do Microsoft Dynamics 365 (online).

Habilite pop-ups para o domínio https://discovery.crmreplication.azure.net/ em seu navegador. Isso é necessário para a entrada automática quando você navega até Configurações > Exportação de Dados.

Serviços, credenciais e privilégios necessários

Para usar o recurso Serviço de Exportação de Dados, você deve ter os seguintes serviços, credenciais e privilégios.

  • Uma assinatura do Microsoft Dynamics 365 (online). Somente os usuários aos quais foi atribuído o direito de acesso de Administrador do Sistema do Microsoft Dynamics 365 podem configurar ou fazer mudanças em um Perfil de Exportação.

  • Assinatura do Microsoft Azure que inclui os seguintes serviços.

    • Banco de Dados SQL do Azure ou AzureSQL Server em máquinas virtuais do Azure.

    • Cofre de Chaves do Azure.

Importante

Para usar o Serviço de Exportação de Dados, os serviços Microsoft Dynamics 365 (online) e Cofre de Chaves do Azure devem operar sob o mesmo locatário e dentro do mesmo Active Directory do Microsoft Azure.Para obter mais informações:Integração do Azure ao Office 365

O serviço Banco de Dados SQL do Azure pode estar em um mesmo locatário ou em um locatário diferente do serviço Microsoft Dynamics 365 (online).

O que você deve saber antes de usar o Serviço de Exportação de Dados

  • Perfis de exportação devem ser excluídos e recriados sempre que você executar uma destas ações em uma instância Microsoft Dynamics 365 (online).

    • Restaurar uma instância.

    • Copiar uma instância (completa ou mínima).

    • Redefinir uma instância.

    • Mover uma instância para um país ou uma região diferente.

    Para isso, exclua o Perfil de Exportação na exibição PERFIS DE EXPORTAÇÃO e exclua as tabelas e os procedimentos armazenados e, em seguida, crie um novo perfil.Para obter mais informações:Como excluir todas as tabelas e procedimentos armazenados do Perfil de Exportação de Dados

  • O Serviço de Exportação de Dados não funciona para instâncias de área restrita do Microsoft Dynamics 365 (online) que estão configuradas com Habilitar modo de administração ativado.Para obter mais informações:Modo de administração

  • O Serviço de Exportação de Dados não remove (exclui) as tabelas, colunas ou objetos de procedimento armazenado associados no destino Banco de Dados SQL do Azure quando as ações a seguir ocorrem.

    • Uma entidade é excluída no Microsoft Dynamics 365 (online).

    • Um campo é excluído no Microsoft Dynamics 365 (online).

    • Uma entidade é removida de um Perfil de Exportação.

    Esses itens devem ser removidos manualmente.Como excluir tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica

    Notificações de exclusão de metadados são registradas na pasta unprocessablemessages.Tratamento de erros e monitoramento

Perfil de exportação

Para exportar dados do Microsoft Dynamics 365 (online), o administrador do Microsoft Dynamics 365 (online) cria um Perfil de Exportação. Vários perfis podem ser criados e ativados para sincronizar dados em bancos de dados diferentes simultaneamente.

O Perfil de Exportação é o conceito principal do Serviço de Exportação de Dados. O Perfil de Exportação reúne informações de instalação e configuração para sincronizar os dados com o banco de dados de destino. Como parte do Perfil de Exportação, o administrador fornece uma lista de entidades a serem exportadas para o banco de dados de destino. Depois de ativado, o Perfil de Exportação começará a sincronização automática de dados. Inicialmente, todos os dados que correspondam a cada entidade selecionada serão exportados. Depois disso, apenas as alterações nos dados que ocorrem nos registros ou nos metadados da entidade no Microsoft Dynamics 365 (online) são sincronizadas continuamente usando um mecanismo de push em tempo quase real. Portanto, não é preciso definir um cronograma para recuperar dados do Microsoft Dynamics 365 (online).

Somente entidades que tenham o controle de alterações habilitado podem ser adicionadas ao Perfil de Exportação. Observe que, a maioria das entidades padrão do Microsoft Dynamics 365 que capturam dados tem o controle de alterações habilitado. As entidades personalizadas devem ser explicitamente habilitadas para o controle de alterações antes que você possa adicioná-las a um Perfil de Exportação.Para obter mais informações:Habilitar o controle de alterações para controlar a sincronização de dados

O Serviço de Exportação de Dados faz a sincronização de dados e de metadados. Cada entidade é traduzida em uma tabela, e cada campo é traduzido em uma coluna na tabela do banco de dados de destino. Nomes de tabelas e de colunas usam o nome de esquema dos metadados do Microsoft Dynamics 365.

Depois de ativado, um Perfil de Exportação reúne as estatísticas para a sincronização dos dados, que ajudam na visibilidade operacional e no diagnóstico dos dados exportados.

Sincronização de dados disponível com um Perfil de exportação

Categoria

Recurso

Tipos de dados compatíveis

Sincronização inicial

Metadados - tipos básicos de dados

Tipos de dados de número inteiro, número de ponto flutuante, número decimal, linha única de texto, várias linhas de texto, data e hora.

Sincronização inicial

Metadados - tipos avançados de dados

Moeda, PartyList, conjunto de opções, status, razão do status, pesquisa (incluindo pesquisas de tipo de cliente e de tipo referente). PartyList está disponível para exportação somente a partir da versão 8.1 e posterior.

Sincronização inicial

Dados - tipos básicos

Todos os tipos básicos de dados.

Sincronização inicial

Dados - tipos avançados

Todos os tipos avançados de dados.

Sincronização Delta

Modificar o esquema - tipos básicos

Adicionar ou modificar alteração de campo, todos os tipos básicos de dados.

Sincronização Delta

Modificar o esquema - tipos avançados

Adicionar ou modificar alteração de campo, todos os tipos avançados de dados.

Sincronização Delta

Modificar dados - tipos básicos

Todos os tipos básicos de dados.

Sincronização Delta

Modificar dados - tipos avançados

Todos os tipos avançados de dados, como PartyList.

Criar um Perfil de Exportação

Certifique-se de que os seguintes requisitos foram atendidos antes de criar um Perfil de Exportação:

  • A solução Serviço de Exportação de Dados esteja instalada na sua instância do Microsoft Dynamics 365 (online).

  • Mantenha a cadeia de conexão do Banco de Dados SQL na URL do Cofre de Chave do e copie a URL do Cofre de Chave do para fornecer o Perfil de Exportação. Mais informações: Microsoft Azure: Introdução ao Azure Key Vault

  • As entidades a serem adicionadas ao Perfil de Exportação estejam habilitadas para o controle de alterações.Para obter mais informações:Habilitar o controle de alterações para controlar a sincronização de dados

  • Seu serviço do Banco de Dados SQL tenha espaço de armazenamento suficiente para armazenar os dados do Microsoft Dynamics 365 .

  • Você seja um Administrador do Sistema na instância do Microsoft Dynamics 365 (online).

  1. No Microsoft Dynamics 365 (online), acesse Configurações > Exportação de Dados.

  2. Examine o aviso e clique em Continuar ou Cancelar se não deseja exportar dados.

  3. Clique em Novo para criar um novo Perfil de Exportação.

  4. Na etapa Propriedades, insira as informações a seguir e clique em Avançar para continuar sem se conectar ao Cofre de Chave do . Clicar em Validar usa a URL do Cofre de Chave do que você forneceu para conectar-se ao Cofre de Chave do .

    • Nome. Nome exclusivo do perfil. Este campo é obrigatório.

    • URL de conexão ao KeyVault. A URL do Cofre de Chave do apontando para a cadeia de conexão armazenada com as credenciais usadas para se conectar ao banco de dados de destino. Este campo é obrigatório.Para obter mais informações:Como configurar o Azure Key Vault

      Importante

      A URL de conexão ao KeyVault diferencia maiúscula de minúscula. Digite a URL de conexão ao KeyVault exatamente como exibido após executar os comandos de Windows PowerShell neste tópico.

    • Esquema. Nome de um esquema de banco de dados alternativo. Somente caracteres alfanuméricos são válidos. Este campo é opcional. Por padrão, dbo é o esquema usado para o Banco de Dados SQL de destino.

    • Prefixo. Prefixo a ser usado para os nomes de tabela criadas no banco de dados de destino. Isso ajuda você a identificar facilmente as tabelas criadas para os Perfil de Exportação nos bancos de dados de destino. Quando especificado, certifique-se de que o prefixo tenha menos de 15 caracteres. Este campo é opcional e somente caracteres alfanuméricos são permitidos.

    • Número de Tentativas. O número de vezes que um registro é repetido em caso de falha ao ser inserido ou atualizado na lista de destino. Este campo é obrigatório. Os valores aceitáveis são 0 a 20, e o padrão é 12.

    • Intervalo de repetição. O número de segundos a aguardar antes de uma tentativa em caso de falha. Este campo é obrigatório. Os valores aceitáveis são 0 a 3600, e o padrão é 5.

    • Gravar Log de Exclusões. Configuração opcional para registrar registros excluídos.

    Guia Propriedades na caixa de diálogo Criar Perfil de Exportação

  5. Na etapa Selecionar Entidades, selecione a entidade que deseja exportar para o Banco de Dados SQL de destino e clique em Avançar.

    Selecionar a guia Entidades na caixa de diálogo Criar Perfil de Exportação

  6. Na etapa Selecionar Relacionamentos, você poderá sincronizar as relações M:N (muitos para muitos) existentes com as entidades selecionadas na etapa anterior. Clique em Avançar.

    Criar exportação de perfil - Gerenciar relacionamentos - Selecionar relacionamentos

  7. Na etapa Resumo, clique em Criar e Ativar para criar o registro de perfil e se conectar ao Cofre de Chave do , que inicia o processo de sincronização. Do contrário, clique em Criar para salvar o Perfil de Exportação e ativar posteriormente.

    Guia Resumo na caixa de diálogo Criar Perfil de Exportação

Modificar um perfil existente de exportação

Você pode adicionar ou remover as entidades e relacionamentos de um Perfil de Exportação já existente que deseja replicar.

  1. No Microsoft Dynamics 365 (online), acesse Configurações > Exportação de Dados.

  2. Na exibição Todos os Perfis de Exportação de Dados, selecione o Perfil de Exportação que você deseja alterar.

    Selecionar um Perfil de Exportação

  3. Na barra de ferramentas Ações, clique em GERENCIAR ENTIDADES para adicionar ou remover entidades para exportação de dados. Para adicionar ou remover relacionamentos da entidade, clique em GERENCIAR RELACIONAMENTOS.

    Gerenciar entidades e relacionamentos de entidades

  4. Selecione as entidades ou relacionamentos da entidade que você deseja adicionar ou remover.

    Selecione as entidades ou relacionamentos da entidade que você deseja adicionar ou remover.

  5. Clique em Atualizar para enviar suas alterações para o Perfil de Exportação.

Importante

Quando você remove uma entidade ou um relacionamento entre entidades de um Perfil de Exportação, ele não remove a tabela correspondente no banco de dados de destino. Para poder adicionar novamente uma entidade que foi removida, você deve remover a tabela correspondente no banco de dados de destino. Para remover uma tabela de entidades, veja Como excluir tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica.

Detalhes de tabelas do Banco de Dados SQL do Azure de destino

O Serviço de Exportação de Dados cria tabelas para os dados e os metadados. Será criada uma tabela para cada entidade e cada relação M:N que for sincronizada.

Depois que um Perfil de Exportação é ativado, estas tabelas são criadas no banco de dados de destino. Estas são as tabelas do sistema e não terão os campos SinkCreatedTime e SinkModifiedTime adicionados.

Nome da tabela

Criada

<Prefixo>_GlobalOptionsetMetadata

Na ativação do Perfil de Exportação.

<Prefixo>_OptionsetMetadata

Na ativação do Perfil de Exportação.

<Prefixo>_StateMetadata

Na ativação do Perfil de Exportação.

<Prefixo>_StatusMetadata

Na ativação do Perfil de Exportação.

<Prefixo>_TargetMetadata

Na ativação do Perfil de Exportação.

<Prefixo>_AttributeMetadata

Na ativação do Perfil de Exportação.

<Prefixo>_DeleteLog

Na ativação do Perfil de Exportação quando a opção de excluir log está habilitada.

Resolvendo problemas de sincronização

Mesmo depois de várias tentativas de repetição, podem ocorrer falhas na sincronização de registros a partir de restrições de armazenamento do banco de dados ou de bloqueio de tabelas devido a consultas de longa execução. Para resolver essas falhas, você pode forçar uma nova sincronização apenas dos registros com falha ou uma nova sincronização de todos os registros.

  1. Veja seus perfis de exportação para procurar perfis que tenham falhas de sincronização de registros. Você faz isso exibindo os perfis de dados na área Sincronização ou abrindo um Perfil de Exportação, como esse perfil que tem uma falha de sincronização do registro de contato de entidade.

    DataExport_failed_records_exist

  2. Examine a origem da falha de sincronização e resolva-a.Para obter mais informações:Tratamento de erros e monitoramento

  3. Quando o problema for resolvido, sincronize novamente os registros com falha.

    Dica

    A sincronização de registros com falha é um recurso do modo de exibição público.

    • O recurso de visualização é um recurso que não está completo, mas é disponibilizado antes do lançamento oficial para que os clientes tenham acesso antecipado e forneçam comentários. Os recursos de visualização não foram criados para uso em ambientes de produção e podem ter funcionalidade limitada ou restrita.

    • Nós esperamos fazer alterações nesse recurso, por isso, não o use em ambientes de produção. Use-o apenas em ambientes de teste e desenvolvimento.

    • A Microsoft não fornece suporte a esse recurso de visualização. O suporte técnico do Microsoft Dynamics 365 não poderá ajudar você com problemas ou perguntas. Os recursos de visualização não foram criados para uso em ambientes de produção e estão sujeitos aos termos complementares de uso.

    1. Inicie sessão em sua instância do Microsoft Dynamics 365 (online) e vá para Configurações > Exportação de Dados.

    2. Abra o Perfil de Exportação que contém falhas de sincronização de registro.

    3. Na barra de ferramentas do Perfil de Exportação, clique em SINCRONIZAR NOVAMENTE REGISTROS COM FALHA.

    4. Clique em Ok depois de uma nova sincronização bem-sucedida dos registros com falha na caixa de diálogo de confirmação.

      Notificação de uma ressincronização bem-sucedida

    5. Verifique se o Perfil de Exportação não contém notificações de registros com falha abrindo o perfil de exportação de dados e exibindo o contador Notificações com Falha na guia PROPRIEDADES E VISÃO GERAL que deve ser 0. Clique em ATUALIZAR na barra de ferramentas do Perfil de Exportação para verificar se o valor de Notificações com Falha é atual.

      Falha na indicação de nenhum registro

  4. Se as falhas de sincronização de registros persistirem depois de você tentar sincronizar novamente seguindo as etapas anteriores, remova as tabelas, os tipos e os procedimentos armazenados do banco de dados de destino e, em seguida, remova e adicione novamente as entidades ao Perfil de Exportação.

    1. Exclua os objetos do banco de dados associado no Banco de Dados SQL do Azure de destino. Por exemplo, se você tiver problemas persistentes de sincronização de entidades de clientes potenciais, remova as tabelas, os tipos e os procedimentos armazenados de clientes potenciais do Banco de Dados SQL do Azure de destino.Para obter mais informações:Como excluir tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica

    2. Remova a entidade, como na entidade de clientes potenciais do Perfil de Exportação.Para obter mais informações:Modificar um perfil existente de exportação

    3. Adicione a entidade, como a entidade de clientes potenciais, volte para o Perfil de Exportação e ative o perfil.

Tratamento de erros e monitoramento

Para exibir o status da sincronização de um Perfil de Exportação, vá para Configurações > Exportação de Dados e abra o Perfil de Exportação. Na guia, ENTIDADES, será exibido o status de sincronização que inclui uma coluna Registros com Falha para os registros não puderam ser sincronizados. Para todos os registros com falha, poderá ser baixada uma lista desses registros, incluindo a razão do status, clicando-se em REGISTROS COM FALHAS na barra de comando.

Barra de comandos de perfil de exportação - botão Registros com Falha

No Perfil de Exportação, você pode clicar em PROPRIEDADES E VISÃO GERAL para exibir as propriedades do perfil. Clique em RELACIONAMENTOS para exibir o status da sincronização de relacionamentos.

Como exibir informações detalhadas sobre os registros que não foram sincronizados

A exibição dos logs de registros com falha pode ajudar a determinar a causa das falhas de sincronização. Para exibir os registros com falhas do base de dados de destino do Azure de destino, use o Gerenciador de Armazenamento do Microsoft Azure, um aplicativo autônomo gratuito que permite que você trabalho facilmente com os dados de armazenamento do Azure. Mais informações: Microsoft Azure Storage Explorer.

  1. No Dynamics 365, acesse Configurações > Exportação de Dados.

  2. Na exibição Todos os Perfis de Exportação de Dados, selecione o Perfil de Exportação com notificações com falha.

    Notificações com falha

  3. Na barra de ferramentas Ações, clique em REGISTROS COM FALHAS.

    Falha no botão da barra de ferramentas registros

  4. Na caixa de diálogo Baixar Registros com Falha, clique em Copiar URL do Blob e, em seguida, clique em Ok.

    Falha no download da caixa de diálogo de registros

    Dica

    O URL de blob é válido por até 24 horas. Se a URL exceder o período de 24 horas, repita as etapas descritas anteriormente para gerar uma nova URL de blob.

  5. Inicie o Gerenciador de Armazenamento do Microsoft Azure.

  6. No Microsoft Azure Storage Explorer, clique em Conectar ao Armazenamento do Azure.

  7. Cole a URL da área de transferência na caixa Conectar ao Armazenamento do Azure e, em seguida, clique em Avançar.

    URL de armazenamento

  8. Na página Resumo de Conexão, clique em Conectar.

  9. O Gerenciador de Armazenamento do Azure conecta-se ao banco de dados de destino. Se houver registros com falha do Perfil de Exportação, o Gerenciador de Armazenamento do Azure exibe pastas de sincronização de registros com falha.

Estrutura da pasta e arquivos de log da sincronização de registros com falha

A URL do Armazenamento de Blob do Azure de Registros com Falha aponta para um local que tem a seguinte estrutura de pastas:

  • data. Essa pasta contém notificações de dados com falha e o JSON associado dos dados do registro.

  • metadata. Essa pasta contém notificações de metadados com falha e o JSON associado dos metadados.

  • failurelog. Essa pasta contém logs que fornecem informações sobre uma falha na sincronização e a razão da ocorrência da falha.

  • forcerefreshfailurelog. Essa pasta contém erros da última execução do comando Registros com Falha do Serviço de Exportação de Dados usado para sincronizar novamente registros com falha.

  • unprocessablemessages. Essa pasta contém as notificações de dados que não foram processadas devido a exclusão dos dados ou dos metadados e do JSON associado.

As pastas failurelog e forcerefreshfailurelog são estruturadas como Ano\Mês\Dia\Hora para que você possa localizar rapidamente as falhas mais recentes. Todos os registros de falha com mais de 30 dias são excluídos.

Veja um arquivo de log de exemplo que indica uma falha de sincronização de registro da entidade contato.

Entidade: contato, RecordId: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, Horário da Notificação: 28/12/2016 12:32:39, Tipo de Alteração: Atualizar, Motivo da Falha: O banco de dados 'tempdb' atingiu sua cota de tamanho. Particione ou exclua os dados, remova os índices ou consulte a documentação para obter possíveis resoluções. A declaração foi concluída.

Razões comuns de falhas na sincronização de registros

Estas são algumas das razões pelas quais ocorrem falhas na sincronização de registros.

  • Armazenamento insuficiente no banco de dados de destino. Antes de tentar sincronizar novamente os registros com falha, aumente ou libere armazenamento no Banco de Dados SQL do Azure conforme apropriado. Quando ocorre esse problema, uma mensagem semelhante a esta é registrada no log de falhas.

    O banco de dados 'databasename' atingiu sua cota de tamanho. Particione ou exclua os dados, remova os índices ou consulte a documentação para obter possíveis resoluções.

  • Tempos limite de sincronização com o Banco de Dados SQL do Azure. Isso pode ocorrer durante a sincronização inicial de um perfil de exportação de dados quando grandes quantidades de dados são processadas ao mesmo tempo. Quando esse problema ocorrer, sincronize novamente os registros com falhas.Resolvendo problemas de sincronização

Melhores práticas ao usar o Banco de Dados SQL do Azure com a Exportação de Dados

  • Para evitar erros de sincronização devido à limitação de recursos, é recomendável ter um Banco de Dados SQL do Azure Premium P1 ou um plano melhor ao usar o Serviço de Exportação de Dados.Para obter mais informações:Limites de recursos do Banco de Dados SQL do Azure e Preço do Banco de Dados SQL

  • Defina o Banco de Dados SQL do Azure para usar RCSI (isolamento de instantâneo de leitura confirmada) para cargas de trabalho executadas simultaneamente no banco de dados de destino que executam consultas de leitura de longa execução, como trabalhos de relatório e de ETL. Isso reduz a ocorrência de erros de tempo limite que podem ocorrer com o Serviço de Exportação de Dados devido a conflitos de leitura\gravação.

Sobre a latência de sincronização de dados

O Serviço de Exportação de Dados está arquitetado para sincronizar as alterações de dados para o banco de dados de destino usando um mecanismo de push por listening para alterações, conforme elas ocorrem no Dynamics 365. O serviço se esforça para enviar dados dentro de alguns minutos, mas há vários fatores que podem influenciar a latência de sincronização completa.

Os fatores que influenciam a duração da sincronização incluem o seguinte:

  • A carga de trabalho atual no Dynamics 365.

  • A taxa de alteração de dados no Dynamics 365.

  • O número de entidades adicionadas a cada perfil de exportação e seus atributos.

  • Desempenho do SQL Server. Por exemplo:

    • Tempo de configuração da conexão SQL.

    • Hora de execução da instrução SQL.

Com base no monitoramento de serviço, foi observado que a maior parte da sincronização delta contínua termina em 15 minutos quando o serviço opera nas seguintes condições:

  • A sincronização que ocorre é uma sincronização delta e não a sincronização inicial. A sincronização delta é somente para operações de alterações de dados, que inclui transações de criação, atualização e exclusão de registro. Observe que a sincronização delta inicia depois que a sincronização inicial terminar.

  • A taxa máxima de alteração de dados no Dynamics 365 para todas as entidades no perfil de exportação é menor que 3000 registros por hora. Qualquer aumento repentino na taxa de alteração de dados devido a alteração de registros em massa que excede a taxa máxima de alteração causará latência adicional.

  • Cada entidade adicionada a um perfil de exportação tem menos de 150 atributos.

  • A conexão do banco de dados ou execução da instrução SQL em menos de 10 segundos. Se este limite for excedido, ele resultará em latência adicional.

  • Nenhum erro de conexão do banco de dados de destino ou de execução de SQL ocorre durante a sincronização.

Quando as condições acima são atendidas, 15 minutos é uma latência de sincronização comum. OMicrosoft não fornece um contrato de nível de serviço (SLA) para o Serviço de Exportação de Dados e não oferece garantias ou compromissos referentes ao tempo de latência de sincronização.

Como configurar o Azure Key Vault

Execute o script do Windows PowerShell aqui descrito como administrador da conta do Azure para dar permissão ao recurso Serviço de Exportação de Dados para que possa acessar seu Azure Key Vault. Este script mostra a URL do cofre de chaves necessária para criar o Perfil de Exportação que será usado para acessar a cadeia de conexão.

Antes de executar o script, substitua espaços reservados pela variáveis a seguir.

  • $subscriptionId. A ID da assinatura do Azure. A ID da assinatura é exibida ao executar o comando Login-AzureRmAccount.

  • $keyvaultName. Selecione um nome para um Cofre de Chave do existente ou um novo. O nome usado para fazer referência ao Cofre de Chave do . Neste exemplo, ContosoKeyVault é usado. Esse nome será usado para outros cmdlets do Cofre de Chave do .

  • $secretName. Especifique o nome usado para a chave protegida por software do Cofre de Chave do . Se não houver uma chave protegida, ela será criada usando o nome secreto especificado. Neste exemplo, ContosoDataExportSecret é usado.

  • $resourceGroupName. Especifique o nome do grupo recursos do Azure que você deseja usar. Se um grupo de recursos ainda não existe, será criado um novo com o nome que você especificar. Neste exemplo, ContosoResourceGroup1 é usado.

  • $location. Especifique o local onde o grupo de recursos está, ou deve estar localizado, como Oeste dos EUA.

  • $connectionString. A cadeia de conexão para o Banco de Dados SQL do Microsoft Azure. Você pode usar a cadeia de conexão ADO.NET conforme exibida no painel do Azure.

  • $organizationIdList = lista separada por vírgulas de organizações do Microsoft Dynamics 365 permitidas, listada por ID da organização (organizationId), para habilitar o Serviço de Exportação de Dados. Para localizar a ID de uma organização, no Microsoft Dynamics 365, acesse Configurações > Personalizações > Recursos do Desenvolvedor. A ID da organização está em Informações de Referência da Instância.

  • $tenantId. Especifica o ID do locatário do Azure Active Directory para com as quais as instâncias do Microsoft Dynamics 365 estão associadas. Mais Informações: Localizar o ID do locatário do Azure Active Directory para suas instâncias do 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)"" 

Como excluir todas as tabelas e procedimentos armazenados do Perfil de Exportação de Dados

Importante

  • Antes de executar esta instrução SQL, verifique se foram definidos valores corretamente de @prefix e de @schema na declaração.

  • O Perfil de Exportação terá que ser recriado após a execução desta instrução 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;

Como excluir tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica

Importante

Antes de executar esta instrução SQL, verifique se foram definidos valores corretamente de @prefix, @schema e @entityName na declaração. Neste exemplo, a tabela da entidade, tipos e procedimentos armazenados dos clientes potenciais são removidos.

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

Localizar o ID do locatário do Azure Active Directory para suas instâncias do Dynamics 365

  1. Entre no portal do Azure.

  2. Vá para Azure Active Directory > Registros de aplicativo > Pontos de extremidade.

  3. A ID do locatário é exibida nas URLs de ponto de extremidade listadas com a inscrição do Azure.

Importante

Uma assinatura de Azure pode ter vários IDs de locatário do Active Directory Azure. Verifique se você selecionou a ID do locatário de Active Directory do Azure correta que está associada à instância do Microsoft Dynamics 365, a qual você para exportar dados.

Os endereços de IP estáticos do banco de dados do Azure SQL usados pelo Serviço de Exportação de Dados

No Banco de Dados SQL do Azure, clique em Definir firewall do servidor, defina Permitir acesso a serviços do Azure como DESATIVADO, clique em Adicionar IP do cliente e depois adicione os endereços IP apropriados para a região de seu Banco de Dados SQL do Azure.Para obter mais informações:Microsoft Azure: Configurar uma regra de firewall no nível do servidor do Banco de Dados do SQL do Azure usando o Portal do Azurel

Região

Endereço IP

Oeste americano

40.112.139.218

Leste dos EUA

23.96.92.86

Europa Ocidental

40.68.252.224

Leste da Ásia

52.175.24.148

Sudeste da Ásia

52.163.231.218

Índia Central

52.172.191.195

Sul da Índia

52.172.51.15

Europa Setentrional

52.169.117.212

Oeste do Japão

138.91.22.196

Leste do Japão

13.73.7.177

Sul do Brasil

191.235.81.249

Sudeste da Austrália

40.115.78.163

Leste da Austrália

13.73.202.160

Canadá Central

52.228.26.31

Leste do Canadá

40.86.251.81

Sul do Reino Unido

51.140.71.166

Oeste do Reino Unido

51.141.44.218

Limitações e problemas conhecidos

Registros excluídos podem ser reinseridos na tabela de entidades depois de uma falha na sincronização

Quando você recupera falhas de sincronização, os registros que tinham sido excluídos podem ser inseridos novamente na tabela de entidades de origem. Como solução alternativa para esse problema de falha na sincronização, siga estas etapas.

  1. Crie Perfis de Exportação que são habilitados para Gravação de Log de Exclusão. Recrie os Perfis de Exportação existentes que não têm Gravação de Log de Exclusão habilitada.

  2. Crie e execute uma consulta SQL no banco de dados SQL do Azure de destino que pesquise registros na tabela DeleteLog. Se um ou mais registros forem localizados, isso indicará a presença de registros excluídos.

  3. Se houver um ou mais registros na tabela do DeleteLog, crie e execute uma consulta SQL que detecta instâncias em que a ID do registro para um registro encontrado na tabela DeleteLog corresponda à ID do registro para um registro na tabela EntityName e o versionNumber no deleteLog é maior que o versionNumber no registro na tabela EntityName. Quando houver uma correspondência de Id de registro, exclua o registro da tabela EntityName. Por exemplo, se uma ID do registro na coluna AccountId da tabela DeleteLog corresponder a uma ID do registro na coluna AccountId da tabela de entidade AccountBase e o versionNumber no DeleteLog for maior que o versionNumber na tabela da Conta, exclua o registro da tabela da entidade AccountBase.

    Importante

    Dependendo dos seus requisitos e necessidades de negócios, é recomendável executar consultas SQL para exclusão do registro, mas geralmente durante horas não operacionais.

Consulta de exemplo para a exclusão do registro de entidade.

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)

Entidades que não aceitam exportação de dados

As entidades listadas aqui, apesar de oferecerem suporte ao controle de alterações, não dão suporte ao uso de exportação de dados Serviço de Exportação de Dados.

Entidade

Nome da tabela

Solução alternativa

Atividade

ActivityPointerBase

Selecione as entidades de atividade específicas para a exportação, como Telefonema, Compromisso, E-mail, e Tarefa.

Aviso de privacidade

Ao usar o Serviço de Exportação de Dados, quando você ativar um perfil de exportação de dados no Microsoft Dynamics 365, os dados das entidades adicionadas ao perfil serão enviados ao Azure. A sincronização inicial inclui todos os dados associados às entidades adicionadas ao perfil de exportação, mas a sincronização posterior inclui somente as alterações novas, que são continuamente enviadas ao Serviço de Exportação de Dados. Os dados enviados ao Serviço de Exportação de Dados são armazenados temporariamente no Barramento de Serviço do Azure e no Armazenamento do Azure, processados no Azure Service Fabric e, por fim, sincronizados (inseridos, atualizados ou excluídos) com o banco de dados de destino especificado na sua assinatura do Azure. Após a sincronização dos dados, eles são excluídos do Barramento de Serviço do Azure e do Armazenamento do Azure. Se ocorrer uma falha durante a sincronização de dados, os dados mínimos correspondentes ao tipo de entidade, à ID de registro e ao carimbo de data/hora de sincronização são armazenados no Armazenamento do Azure para permitir o download de uma lista dos registros que não foram atualizados.

Um administrador poderá desativar o perfil de exportação de dados a qualquer momento para interromper a sincronização de dados. Além disso, um administrador pode excluir o perfil de exportação para remover os logs de registro com falha e desinstalar a solução de Serviço de Exportação de Dados para interromper seu uso.

A sincronização de dados ocorre continuamente entre o Dynamics 365 e o Serviço de Exportação de Dados de maneira segura. Os dados são criptografados, pois são continuamente trocados entre o Dynamics 365 e o Serviço de Exportação de Dados.

Os componentes e os serviços do Azure usados em conjunto com o Serviço de Exportação de Dados são descritos detalhadamente nas seções a seguir.

Observação: Para obter mais informações sobre as ofertas de serviço adicionais do Azure, consulte a Central de Confiabilidade do Microsoft Azure.

Azure Service Fabric

Ele fornece a API e as VMs de computação do Azure para processar as notificações de sincronização de registros recebidas do Dynamics 365 e processá-las para inserir, atualizar ou excluir dados de registros no banco de dados de destino. Os microsserviços implantados em máquinas virtuais gerenciadas pelo tempo de execução do Azure Service Fabric manipulam todos os serviços de computação relacionados à sincronização de dados.

Barramento de Serviço do Azure

Ele fornece o barramento de mensagens no qual o Dynamics 365 insere as mensagens de notificação de sincronização que são processadas pelos nós de computação no Azure Service Fabric. Cada mensagem armazena informações, como a ID e o registro da organização, com as quais os dados serão sincronizados. Os dados no Barramento de Serviço do Azure não são criptografados em repouso, mas são acessíveis somente pelo Serviço de Exportação de Dados.

Armazenamento de Blobs do Azure

Os dados são temporariamente armazenados no Armazenamento de Blobs do Azure caso os dados da notificação de sincronização de registro sejam muito grandes para serem armazenados em uma mensagem ou uma falha temporária seja encontrada para processar a notificação de sincronização. Esses blobs são criptografados por meio do recurso mais recente no SDK do Armazenamento do Azure, que fornece suporte a criptografia simétrica e assimétrica, além de integração ao Cofre de Chaves do Azure.

SQL do Azure

O Banco de Dados SQL do Azure armazena métricas de sincronização de dados e de configuração de perfil de exportação de dados.

Confira Também

AppSource: Microsoft Dynamics 365 - Serviço de Exportação de Dados
Novidades do Serviço de Exportação de Dados do Dynamics 365
Gerenciar seus dados
MSDN: Serviço de Exportação de Dados
Blog da equipe: Introdução ao Dynamics 365 - Serviço de exportação de dados

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais