Replicar os dados do Microsoft Dynamics 365 (online) na Base de Dados SQL do Microsoft Azure
Publicado: fevereiro de 2017
Aplica-se A: Dynamics 365 (online), Dynamics CRM Online
Nota
As informações aqui fornecidas destinam-se às versões do Dynamics 365 anteriores ao Dynamics 365 (online), versão 9.0. Para obter a documentação mais recente, consulte Replicar dados para a base de dados SQL do Azure.
O Microsoft Dynamics 365-Serviço de Exportação de Dados é um serviço de suplemento disponibilizado no Microsoft AppSource que adiciona a capacidade de replicar os dados do Microsoft Dynamics 365 (online) para um arquivo do Base de Dados SQL do Microsoft Azure numa subscrição do Microsoft Azure detida pelo cliente. Os destinos alvo suportados são Base de Dados SQL do Microsoft Azure e SQL Server em máquinas virtuais Microsoft Azure. O Serviço de Exportação de Dados efetua uma sincronização inicial inteligente de todos os dados do Dynamics 365 e depois sincroniza-os continuamente à medida que ocorrem alterações (alterações delta) no sistema Microsoft Dynamics 365 (online). Isto ajuda a ativar alguns cenários de análise e de relatórios sobre os dados do Dynamics 365 com os dados e os serviços de análise do Azure e abre novas possibilidades de construção de soluções personalizadas aos clientes e parceiros.
Nota
É possível utilizar o Serviço de Exportação de Dados com
-
Microsoft Dynamics 365 (online)
-
Atualização do Microsoft Dynamics CRM Online 2016
Para obter informações sobre a interface programática para gerir 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 utilizar o Serviço de Exportação de Dados
Serviços, credenciais e privilégios necessários
O que deve saber antes de utilizar o Serviço de Exportação de Dados
Perfil de Exportação
Criar um Perfil de Exportação
Modificar um Perfil de Exportação existente
Detalhes da tabela para a Base de Dados SQL do Azure de destino
Resolver problemas de sincronização
Processamento de erros e monitorização
Melhores práticas quando utiliza a Base de Dados SQL do Azure com Exportação de Dados
Acerca da latência da sincronização de dados
Como configurar o Cofre de Chaves do Azure
Limitações e problemas conhecidos
Pré-requisitos para utilizar o Serviço de Exportação de Dados
Para começar a utilizar o Serviço de Exportação de Dados, são obrigatórios os seguintes pré-requisitos.
Serviço de Base de Dados SQL do Azure
Uma subscrição do Base de Dados SQL do Azure do cliente. Esta subscrição tem de permitir o volume de dados que é sincronizado.
Definições da firewall. Recomendamos que desative Permitir o acesso aos serviços do Azure e especifique os endereços IP do cliente adequados listados neste tópico. Mais informações: Endereços IP da base de dados SQL do Azure utilizados pelo Serviço de Exportação de Dados
Em alternativa, pode ativar Permitir o acesso aos serviços do Azure para permitir o acesso a todos os serviços do Azure.
Para o SQL Server numa VM do Azure, a opção “Ligar ao SQL Server através da Internet” deve ser ativada. Mais informações: Microsoft Azure: Ligar a uma Máquina Virtual do SQL Server no Azure (Implementação Clássica)
O utilizador da base de dados tem de ter permissões ao nível da base de dados e do esquema de acordo com as tabelas seguintes. O utilizador da base de dados é utilizado na cadeia de ligação de exportação de dados.
Permissões de base de dados necessárias.
Código de tipo de permissão
Nome da permissão
CRTB
CRIAR TABELA
CRTY
CRIAR TIPO
CRVW
CRIAR VISTA
CRPR
CRIAR PROCEDIMENTO
ALUS
ALTERAR TODOS OS UTILIZADORES
VWDS
VER ESTADO DE BASE DE DADOS
Permissões de esquema necessárias.
Código de tipo de permissão
Nome da permissão
AL
ALTERAR
IN
INSERIR
DL
DELETE
SL
SELECIONAR
UP
ATUALIZAR
EX
EXECUTAR
RF
REFERÊNCIAS
Serviço Cofre de Chaves do Azure
Subscrição do Cofre de Chaves do Azure do cliente, que é utilizada para manter a cadeia de ligação à base de dados em segurança.
Conceder permissão PermissionsToSecrets à aplicação com o ID "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf." Isto pode ser conseguido por execução do comando do PowerShell do Azureabaixo e é utilizado para aceder ao Cofres de Chaves do que contém a cadeia de ligação do segredo.Mais informações:Como configurar o Cofre de Chaves do Azure
O Cofre de Chaves deve ser etiquetado com a organização do Microsoft Dynamics 365 (OrgId) e os IDs de Inquilino (TenantId). Isto pode ser conseguido por execução do comando do PowerShell do Azureabaixo.Mais informações:Como configurar o Cofre de Chaves do Azure
Microsoft Dynamics 365 (online)
Uma instância do Atualização do Microsoft Dynamics CRM Online 2016 ou de uma versão posterior.
A solução Serviço de Exportação de Dados tem de estar instalada. Obtenha-a a partir do Microsoft AppSource.
As entidades que serão adicionadas ao Perfil de Exportação terão de ser ativadas com a monitorização de alterações. Para assegurar que uma entidade personalizada ou padrão pode ser sincronizada, vá para Personalização > Personalizar o Sistema e, em seguida, clique na entidade. No separador Geral, certifique-se de que a opção de Monitorização de Alterações da secção Serviços de Dados está ativada.
Tem de ter o direito de acesso Administrador de Sistema na instância do Microsoft Dynamics 365 (online).
Browser
Ative pop-ups para o domínio https://discovery.crmreplication.azure.net/ no seu browser. Isto é necessário para o início de sessão automático quando navegar para Definições > Exportar Dados.
Serviços, credenciais e privilégios necessários
Para utilizar a funcionalidade Serviço de Exportação de Dados, tem de ter os seguintes serviços, credenciais e privilégios.
Uma subscrição do Microsoft Dynamics 365 (online). Apenas os utilizadores a quem é atribuído o direito de acesso de de Administrador de Sistema no Microsoft Dynamics 365 podem configurar ou efetuar alterações a um Perfil de Exportação.
Subscrição do Microsoft Azure que inclui os seguintes serviços.
Base de Dados SQL do Azure ou AzureSQL Server em máquinas virtuais do Azure.
Cofre de Chaves do Azure.
Importante
Para utilizar o Serviço de Exportação de Dados os serviços do Microsoft Dynamics 365 (online) e do Cofre de Chaves do Azure terão de funcionar no mesmo inquilino e no mesmo Microsoft Azure Active Directory.Mais informações:Integração do Azure com o Office 365
O serviço Base de Dados SQL do Azure pode estar no mesmo inquilino ou num inquilino diferente do do serviço Microsoft Dynamics 365 (online).
O que deve saber antes de utilizar o Serviço de Exportação de Dados
Os Perfis de Exportação têm ser eliminados e, em seguida, recriados sempre que efetuar qualquer uma das seguintes acções numa instância do Microsoft Dynamics 365 (online).
Restaurar uma Instância.
Copiar (completa ou mínima) uma instância.
Repor uma instância.
Mover uma instância para um país ou região diferente.
Para tal, elimine o Perfil de Exportação na vista PERFIS DE EXPORTAÇÃO, em seguida elimine as tabelas e os procedimentos armazenados e, em seguida, crie um novo perfil.Mais informações:Como eliminar todos os procedimentos armazenados e tabelas de Perfis de Exportação de Dados
O Serviço de Exportação de Dadosnão funciona para as instâncias de sandbox do Microsoft Dynamics 365 (online) configuradas com a opção Ativar modo de administração ativada.Mais informações:Modo de administração
O Serviço de Exportação de Dados não remove (elimina) as tabelas, colunas ou objetos de procedimento associados na Base de Dados SQL do Azure de destino quando ocorrem as seguintes ações.
Uma entidade é eliminada no Microsoft Dynamics 365 (online).
Um campo é eliminado no Microsoft Dynamics 365 (online).
Uma entidade é removida de um Perfil de Exportação.
Estes itens têm de ser eliminados manualmente.Como eliminar tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica
As notificações de eliminação de metadados são registadas na pasta unprocessablemessages.Processamento de erros e monitorização
Perfil de Exportação
Para exportar dados a partir do Microsoft Dynamics 365 (online), o administrador do Microsoft Dynamics 365 (online) cria um Perfil de Exportação. Podem ser criados e ativados vários perfis para sincronizar os dados simultaneamente em diferentes bases de dados de destino.
O Perfil de Exportação é o conceito básico do Serviço de Exportação de Dados. O Perfil de Exportação recolhe informações de definição e configuração para sincronizar dados com as bases de dados de destino. No contexto do Perfil de Exportação, o administrador fornece uma lista de entidades a ser exportadas para a base de dados de destino. Depois de ativado, o Perfil de Exportação começa a sincronizar automaticamente os dados. Inicialmente, são exportados todos os dados que correspondem a cada entidade selecionada. Depois, apenas são sincronizadas as alterações aos dados, continuamente, quase em tempo real, à medida que ocorrem nos registos ou metadados da entidade no Microsoft Dynamics 365 (online), através de um mecanismo de emissão via push. Consequentemente, não tem de configurar uma agenda para obter os dados do Microsoft Dynamics 365 (online).
Apenas as entidades que tenham a monitorização de alterações ativada podem ser adicionadas ao Perfil de Exportação. Note que quase todas as entidades predefinidas do Microsoft Dynamics 365 que captam dados têm a monitorização de alterações ativada. A monitorização de alterações tem de ser ativada explicitamente nas entidades personalizadas para que as possa adicionar ao Perfil de Exportação.Mais informações:Ativar a monitorização de alterações para controlar a sincronização de dados
O Serviço de Exportação de Dados sincroniza tanto os metadados como os dados. Cada entidade corresponde a uma tabela e cada campo corresponde a uma coluna da tabela da base de dados de destino. Os nomes de tabelas e colunas utilizam o nome de esquema dos metadados do Microsoft Dynamics 365.
Depois de ativada, um Perfil de Exportação recolhe estatísticas de sincronização de dados que ajudam a dar visibilidade operacional e ao diagnóstico dos dados exportados.
Sincronização de dados disponível com um Perfil de Exportação
Categoria |
Funcionalidade |
Tipos de dados suportados: |
Sincronização Inicial |
Metadados - Tipos de Dados Básicos |
Tipos de dados de Número Inteiro, Número de Vírgula Flutuante, Número Decimal, Uma Linha de Texto, Várias Linhas de Texto, Data e Hora. |
Sincronização Inicial |
Metadados - Tipos de Dados Avançados |
Moeda, PartyList, Conjunto de Opções, Razão do Estado, Pesquisa (incluindo as pesquisas do tipo Cliente e Relativo a). PartyList só está disponível para exportação na versão 8.1 ou superior. |
Sincronização Inicial |
Dados - Tipos Básicos |
Todos os tipos de dados básicos |
Sincronização Inicial |
Dados - Tipos Avançados |
Todos os tipos de dados avançados |
Sincronização Delta |
Modificar o Esquema - Tipos Básicos |
Alteração adicionar ou modificar campo, todos os tipos de dados básicos. |
Sincronização Delta |
Modificar o Esquema - Tipos Avançados |
Alteração adicionar ou modificar campo, todos os tipos de dados avançados. |
Sincronização Delta |
Modificar os Dados - Tipos Básicos |
Todos os tipos de dados básicos |
Sincronização Delta |
Modificar os Dados - Tipos Avançados |
Todos os tipos de dados avançados, tais como PartyList. |
Criar um Perfil de Exportação
Certifique-se de que os seguintes requisitos foram satisfeitos antes de criar um Perfil de Exportação.
A solução de Serviço de Exportação de Dados está instalada na instância do Microsoft Dynamics 365 (online).
Mantenha a cadeia de ligação do Base de Dados SQL no Cofres de Chaves do e copie o URL do Cofres de Chaves do para fornecer ao Perfil de Exportação. Mais informações: Microsoft Azure: Introdução ao Cofre de Chaves do Azure
As entidades que serão adicionadas ao Perfil de Exportação estão ativadas para monitorização de alterações.Mais informações:Ativar a monitorização de alterações para controlar a sincronização de dados
O serviço Base de Dados SQL tem espaço de armazenamento suficiente para armazenar os dados do Microsoft Dynamics 365.
É um Administrador de Sistema na instância do Microsoft Dynamics 365 (online).
Em Microsoft Dynamics 365 (online), vá a Definições > Exportação de Dados.
Reveja o aviso e clique Continuar ou Cancelar, se não pretender exportar dados.
Clique em Novo para criar um novo Perfil de Exportação.
No passo Propriedades, introduza as seguintes informações e clique em Seguinte para continuar sem ligar ao Cofres de Chaves do . Ao clicar em Validar será utilizado o URL do Cofres de Chaves do que tiver fornecido ao Cofres de Chaves do .
Nome. Nome exclusivo do perfil. Este campo é obrigatório.
URL de Ligação ao Cofre de Chaves. O URL do Cofres de Chaves do que aponta para a cadeia de ligação armazenada com as credenciais utilizadas para ligar à base de dados de destino. Este campo é obrigatório.Mais informações:Como configurar o Cofre de Chaves do Azure
Importante
O URL de Ligação ao Cofre de Chaves é sensível às maiúsculas e minúsculas. Introduza o URL de Ligação ao Cofre de Chaves tal como é apresentado depois de executar os comandos do Windows PowerShell neste tópico.
Esquema. Nome para um esquema de base de dados alternativo. Só são válidos carateres alfanuméricos. Este campo é opcional. Por predefinição, dbo é o esquema que é utilizado para a Base de Dados SQL de destino.
Prefixo. O prefixo a utilizar para os nomes das tabelas criadas na base de dados de destino. Isto ajuda-o a identificar facilmente as tabelas criadas para o Perfil de Exportação na base de dados de destino. Quando especificado, certifique-se de que o prefixo tem menos de 15 carateres. Este campo é opcional e só são permitidos carateres alfanuméricos.
Contagem de repetições. O número de tentativas adicionais para inserir ou atualizar um registo na tabela de destino em caso de falha. Este campo é obrigatório. Os valores aceitáveis são 0-20 e a predefinição é 12.
Intervalo entre repetições. O número de segundos a aguardar antes de tentar repetir em caso de falha. Este campo é obrigatório. Os valores aceitáveis são 0-3600 e a predefinição é 5.
Escrever Registo de Eliminações. Definição opcional para registar os registos eliminados.
No passo Selecionar Entidades, selecione as entidades que pretende exportar para a Base de Dados SQL de destino e clique em Seguinte.
No passo Selecionar Relações, poderá sincronizar as relações M:N (muitos-para-muitos) existentes com as entidades que selecionou no passo anterior. Clique em Seguinte.
No passo Resumo, clique em Criar e Ativar para criar o registo do perfil e para o ligar ao Cofres de Chaves do , o que dá início ao processo de sincronização. Caso contrário, clique em Criar para guardar o Perfil de Exportação e para o ativar mais tarde.
Modificar um Perfil de Exportação existente
Poderá adicionar ou remover as entidades e as relações num Perfil de Exportação existente que pretenda replicar.
No Microsoft Dynamics 365 (online), vá para Definições > Exportação de Dados.
Na vista Todos os Perfis de Exportação de Dados, selecione o Perfil de Exportação que pretende alterar.
Na barra de ferramentas Ações, clique em GERIR ENTIDADES para adicionar ou remover entidades para exportação de dados. Para adicionar ou remover relações entre entidades, clique em GERIR RELAÇÕES.
Selecione as entidades ou relações entre entidades que pretende adicionar ou remover.
Clique em Atualizar para submeter as suas alterações para o Perfil de Exportação.
Importante
Quando remove uma entidade ou relação entre entidades de um Perfil de Exportação, não larga a tabela correspondente na base de dados de destino. Antes de poder readicionar uma entidade que tenha sido removida, é necessário largar a tabela correspondente na base de dados de destino. Para largar uma tabela de entidades, consulte Como eliminar tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica.
Detalhes da tabela para a Base de Dados SQL do Azure de destino
O Serviço de Exportação de Dados cria tabelas tanto para os metadados como para os dados. É criada uma tabela para cada entidade e relação M:N que é sincronizada.
Depois de um Perfil de Exportação ser ativado, estes tabelas são criadas na base de dados de destino. Estas são tabelas de sistema às quais não serão adicionados campos SinkCreatedTime e SinkModifiedTime.
Nome da tabela |
Criado |
---|---|
<Prefixo>_GlobalOptionsetMetadata |
Ao ativar o Perfil de Exportação. |
<Prefixo>_OptionsetMetadata |
Ao ativar o Perfil de Exportação. |
<Prefixo>_StateMetadata |
Ao ativar o Perfil de Exportação. |
<Prefixo>_StatusMetadata |
Ao ativar o Perfil de Exportação. |
<Prefixo>_TargetMetadata |
Ao ativar o Perfil de Exportação. |
<Prefixo>_AttributeMetadata |
Ao ativar o Perfil de Exportação. |
<Prefixo>_DeleteLog |
Ao ativar o Perfil de Exportação, quando a opção de eliminação do registo é ativada. |
Resolver problemas de sincronização
Mesmo após várias tentativas de repetição, poderão ocorrer falhas na sincronização dos registos devido a restrições de armazenamento da base de dados ou ao bloqueio da tabela devido execuções de consultas longas. Para resolver estes falhas, poderá forçar uma ressincronização apenas dos registos falhados ou uma ressincronização de todos os registos.
Veja os seus perfis de exportação para procurar qualquer um que tenha falhas de sincronização de registos. Faça-o ao visualizar os perfis de dados na área Sincronização ou abrir um Perfil de Exportação, como este perfil que tem uma falha de sincronização de registos de entidade de contacto.
Examine a origem da falha da sincronização e resolva-a.Mais informações:Processamento de erros e monitorização
Depois de resolvido o problema, ressincronize os registos falhados.
Nota
A sincronização de registos falhados é uma funcionalidade de pré-visualização pública.
-
Uma funcionalidade de pré-visualização é uma funcionalidade que não está concluída e que é disponibilizada antes do lançamento oficial, para que os clientes possam desfrutar de acesso antecipado e fornecer comentários. As funcionalidades de pré-visualização não se destinam a utilização em produção e poderão ter funcionalidade limitada ou restrita.
-
Esperamos que esta funcionalidade venha a ser alterada, pelo que não deve ser utilizada em ambientes de produção. Utilize-a apenas em ambientes de teste e desenvolvimento.
-
A Microsoft não oferece suporte para esta funcionalidade de pré-visualização. O Suporte Técnico do Microsoft Dynamics 365 não poderá ajudá-lo relativamente a problemas ou perguntas. As funcionalidades de pré-visualização não se destinam a utilização para produção e estão sujeitas a termos de utilização suplementares separados.
Inicie sessão na sua instância do Microsoft Dynamics 365 (online) e vá para Definições > Exportação de Dados.
Abra o Perfil de Exportação que inclui as falhas de sincronização de registos.
Na barra de ferramentas Perfil de Exportação, clique em RESSINCRONIZAR REGISTOS FALHADOS.
Clique em OK após a ressincronização bem-sucedida dos registos falhados na caixa de diálogo de confirmação.
Verifique se o Perfil de Exportação não contém notificações de registos falhados ao abrir o perfil de exportação de dados e ver o contador Notificações Falhadas no separador PROPRIEDADES E DESCRIÇÃO GERAL, que deve ser 0. Clique em ATUALIZAR na barra de ferramentas Perfil de Exportação para assegurar que o valor de Notificações Falhadas está atualizado.
-
Se as falhas de sincronização de registos persistirem depois de tentar ressincronizar ao seguir os passos anteriores, largue as tabelas, tipos e procedimentos armazenados a partir da base de dados de destino e, em seguida, remova e volte a adicionar as entidades ao Perfil de Exportação.
Elimine os objetos de base de dados associados na Base de Dados SQL do Azure de destino. Por exemplo, se ocorrerem problemas de sincronização de entidades de oportunidades potenciais persistentes, remova os tipos, procedimentos armazenados e tabelas de oportunidades potenciais da Base de Dados SQL do Azure de destino.Mais informações:Como eliminar tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica
Remova a entidade, tal como a entidade de oportunidades potenciais, do Perfil de Exportação.Mais informações:Modificar um Perfil de Exportação existente
Volte a adicionar a entidade, tal como a entidade de oportunidades potenciais, ao Perfil de Exportação e, em seguida, ative o perfil.
Processamento de erros e monitorização
Para ver o estado de sincronização de um Perfil de Exportação, vá para Definições > Exportação de dados e abra o Perfil de Exportação. No separador ENTIDADES, é apresentado o estado de sincronização, incluindo uma coluna para Registos Falhados para os registos que não puderam ser sincronizados. Em caso de registos falhados, pode transferir uma lista desses registos, incluindo a razão do estado, clicando em REGISTOS FALHADOS na barra de comandos.
No Perfil de Exportação pode clicar em PROPRIEDADES E DESCRIÇÃO GERAL para ver as propriedades do perfil. Clique em RELACIONAMENTOS para ver o estado de sincronização das relações.
Como ver informações detalhadas sobre os registos cuja sincronização falhou
Veja como os registos falhados podem ajudá-lo a determinar a causa das falhas de sincronização. Para ver os registos com falha na base de dados de destino do Azure, utilize o Explorador de Armazenamento do Microsoft Azure, uma aplicação autónoma gratuita que permite trabalhar facilmente com dados de Armazenamento do Azure. Mais informações: Explorador de Armazenamento do Microsoft Azure.
Em Dynamics 365, vá a Definições > Exportação de Dados.
Na vista Todos os Perfis de Exportação de Dados, selecione o Perfil de Exportação com notificações falhadas.
Na barra de ferramentas Ações, clique em REGISTOS FALHADOS.
Na caixa de diálogo Transferir Registos Falhados, clique em Copiar URL do Blob e, em seguida, clique em Ok.
Nota
O URL do blob é válido durante até 24 horas. Se o URL exceder o período de 24 horas, repita os passos descritos anteriormente para gerar um novo URL do blob.
Inicie o Explorador de Armazenamento do Microsoft Azure.
No Explorador de Armazenamento do Microsoft Azure, clique em Ligar ao Armazenamento do Azure.
Cole o URL da área de transferência na caixa Ligar ao Armazenamento do Azure e clique em Seguinte.
Na página Resumo da Ligação, clique em Ligar.
O Explorador de Armazenamento do Azure estabelece ligação à base de dados de destino. Se existirem registos falhados para o Perfil de Exportação, o Explorador de Armazenamento do Azure apresenta as pastas de sincronização de registos falhados.
Estrutura de pastas e ficheiros de registo de sincronização de registos falhados
O URL de armazenamento de Blobs do Azure aponta para uma localização com a seguinte estrutura de pastas:
data. Esta pasta contém as notificações de dados falhadas e o JSON associado para os dados de registo.
metadata. Esta pasta contém as notificações de metadados falhadas e o JSON associado para os metadados de registo.
failurelog. Esta pasta contém registos que fornecem informações sobre a falha da sincronização e a razão pela qual a falha ocorreu.
forcerefreshfailurelog. Esta pasta contém os erros da última a execução do comando Registos Falhados do Serviço de Exportação de Dados utilizado para ressincronizar os registos falhados.
unprocessablemessages. Esta pasta contém as notificações de dados que não foram processadas devido à eliminação de dados ou metadados e ao JSON associado.
As pastas failurelog e forcerefreshfailurelog têm a estrutura Ano\Mês\Dia\Hora para poder localizar rapidamente as falhas mais recentes. Todos os registos falhados com mais de 30 dias são eliminados.
Segue-se um ficheiro de registo de exemplo que indica uma falha de sincronização do registo de entidade.
Entidade: contacto, RecordId: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, NotificationTime: 12/28/2016 12:32:39 AM, ChangeType: Update, FailureReason: A base de dados 'tempdb' atingiu a quota de tamanho. Crie uma partição ou elimine dados, remova índices ou consulte a documentação para conhecer resoluções possíveis. A instrução foi terminada.
Razões comuns para as falhas de sincronização de registos
Seguem-se algumas das razões pelas quais poderão ocorrer falhas de sincronização.
Armazenamento insuficiente para a base de dados de destino. Antes de tentar ressincronizar os registos falhados, aumente ou liberte o armazenamento da Base de Dados SQL do Azure, conforme adequado. Quando este problema ocorrer, será registada uma mensagem semelhante ao registo de falhas.
A base de dados 'databasename' atingiu a respetiva quota de tamanho. Crie uma partição ou elimine dados, remova índices ou consulte a documentação para conhecer resoluções possíveis.
Tempos limite de sincronização com o Base de Dados SQL do Azure. Isto pode ocorrer durante a sincronização inicial de um perfil de exportação de dados quando são processados grandes volumes de dados de cada vez. Quando este problema ocorre, ressincronize os registos falhados.Resolver problemas de sincronização
Melhores práticas quando utiliza a Base de Dados SQL do Azure com Exportação de Dados
Para evitar erros de sincronização devido à limitação de recursos, recomendamos que tenha um plano Base de Dados SQL do Azure Premium P1 ou mais avançado quando utiliza o Serviço de Exportação de Dados.Mais informações:Limites de recursos da Base de Dados SQL do Azure e Preços da Base de Dados SQL
Defina a Base de Dados SQL do Azure para utilizar o RCSI (read committed snapshot isolation) para cargas de trabalho executadas em simultâneo na base de dados de destino que executa consultas de leitura de execução longa, tais como relatórios e tarefas ETL. Isto reduz a ocorrência dos erros de tempo limite que podem ocorrer com o Serviço de Exportação de Dados devido a conflitos de leitura\escrita.
Acerca da latência da sincronização de dados
O Serviço de Exportação de Dados está arquitetado para sincronizar as alterações aos dados com a base de dados de destino utilizando um mecanismo de envio via push ao escutar as alterações à medida que ocorrem no Dynamics 365. O serviço tenta enviar dados via push durante alguns minutos, mas vários fatores podem influenciar a latência de sincronização ponto a ponto.
Os fatores que influenciam a duração da sincronização incluem:
A carga de rede 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 os respetivos atributos.
desempenho do SQL Server. Por exemplo:
Tempo de configuração da ligação SQL.
Tempo de execução da instrução SQL.
Com base na monitorização do serviço, observou-se que a maior parte da sincronização delta contínua termina ao fim de 15 minutos quando o serviço funciona nas seguintes condições:
A sincronização que ocorre é uma sincronização delta e não a sincronização inicial. A sincronização delta destina-se apenas às operações de alteração de dados, que incluem transações de criação, atualização e eliminação de registos. Tenha em atenção que a sincronização delta começa depois de terminada a sincronização inicial.
A taxa máxima de alteração de dados no Dynamics 365 para todas as entidades no perfil de exportação é inferior a 3000 registos por hora. Qualquer aumento repentino na taxa de alteração de dados devido a alterações em massa dos registos que excedem a taxa de alteração máxima causará latência adicional.
Cada entidade adicionada a um perfil de exportação tem menos de 150 atributos.
A execução da instrução SQL ou da ligação à base de dados termina em menos de 10 segundos. Se este limite for excedido, resultará numa latência adicional.
Não ocorrem erros de execução de SQL ou da ligação à base de dados de destino durante a sincronização.
Quando as condições acima são satisfeitas, 15 minutos é uma latência de sincronização típica. A Microsoft não oferece qualquer contrato de nível de serviço (SLA) para o Serviço de Exportação de Dados e não oferece quaisquer garantias ou compromissos relativos aos tempos de latência de sincronização.
Como configurar o Cofre de Chaves do Azure
Execute o script do Windows PowerShell descrito aqui como administrador de conta do Azure para dar permissão à funcionalidade do Serviço de Exportação de Dados para aceder ao Cofre de Chaves do Azure. Este script apresenta o URL do cofre de chaves necessário para criar o Perfil de Exportação que é utilizado para aceder à cadeia de ligação.
Antes de executar o script, substitua os marcadores de posição para as seguintes variáveis.
$subscriptionId. O ID da subscrição do Azure. O ID da subscrição é apresentado ao executar o comando Login-AzureRmAccount.
$keyvaultName. Selecione um nome para um novo ou existente, Cofres de Chaves do . O nome é utilizado para fazer referência ao Cofres de Chaves do . Neste exemplo, é utilizado ContosoKeyVault. Utilizará este nome para outros cmdlets do Cofres de Chaves do .
$secretName. Especifique o nome que é utilizado para a chave protegida por software para o Cofres de Chaves do . Se não existir uma chave protegida, será criada uma que utiliza o nome secreto especificado. Neste exemplo, é utilizado ContosoDataExportSecret.
$resourceGroupName. Especifique o nome do grupo de recursos do Azure que pretende utilizar. Se um grupo de recursos ainda não existe, será criado um novo com o nome que especificar. Neste exemplo, é utilizado ContosoResourceGroup1.
$location. Especifique a localização onde o grupo de recursos está localizado, ou devia estar, tal como West US.
$connectionString. A cadeia de ligação para o Base de Dados SQL do Microsoft Azure. Pode utilizar a cadeia de ligação ADO.NET que é apresentada no dashboard do Azure.
$organizationIdList = Lista separada por vírgulas das organizações do Microsoft Dynamics 365 com permissão, listadas pelo ID da organização (organizationId), para ativar para o Serviço de Exportação de Dados. Para localizar o ID de uma organização, no Microsoft Dynamics 365, vá a Definições > Personalizações > Recursos para Programadores. O ID da organização está em Informações de Referência da Instância.
$tenantId. Especifica o ID de inquilino do Azure Active Directory ao qual as instâncias do Microsoft Dynamics 365 estão associadas. Mais informações: Localizar o ID de inquilino do Azure Active Directory para as 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 eliminar todos os procedimentos armazenados e tabelas de Perfis de Exportação de Dados
Importante
-
Antes de executar esta instrução de SQL, certifique-se de que definiu corretamente os valores de @prefix e @schema na instrução.
-
O Perfil de Exportação terá de ser recriado depois de executar esta 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 eliminar tabelas e procedimentos armazenados do Perfil de Exportação de Dados para uma entidade específica
Importante
Antes de executar esta instrução de SQL, certifique-se de que definiu corretamente os valores de @prefix, @schema e @entityName na instrução. Neste exemplo, os procedimentos armazenados, tipos e tabela de entidades de oportunidades 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 de inquilino do Azure Active Directory para as suas instâncias do Dynamics 365
Inicie sessão no portal do Azure.
Vá para Azure Active Directory > Registos de aplicações > Pontos Finais.
O ID de inquilino é apresentado nos URLs de ponto final listados com a subscrição do Azure.
Importante
Uma subscrição do Azure pode ter vários IDs de inquilino do Azure Active Directory. Certifique-se de que seleciona o ID de inquilino do Azure Active Directory correto associado à instância do Microsoft Dynamics 365 que utilizará para a exportação de dados.
Endereços IP da base de dados SQL do Azure utilizados pelo Serviço de Exportação de Dados
No Base de Dados SQL do Azure, clique em Definir firewall do servidor, alterne a opção Permitir o acesso aos serviços do Azure para DESATIVAR, clique em Adicionar IP do cliente e, em seguida, adicione os endereços IP adequados à região da sua Base de Dados SQL do Azure.Mais informações:Microsoft Azure: Configurar uma regra de firewall de nível de servidor da Base de Dados SQL do Azure através do Portal do Azure
Região |
Endereço IP |
---|---|
E.U.A. Oeste |
40.112.139.218 |
E.U.A. Leste |
23.96.92.86 |
Europa Ocidental |
40.68.252.224 |
Ásia Oriental |
52.175.24.148 |
Sudeste Asiático |
52.163.231.218 |
Índia Central |
52.172.191.195 |
Índia do Sul |
52.172.51.15 |
Europa do Norte |
52.169.117.212 |
Oeste do Japão |
138.91.22.196 |
Leste do Japão |
13.73.7.177 |
Brasil do Sul |
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 |
Reino Unido, Sul |
51.140.71.166 |
Reino Unido, Oeste |
51.141.44.218 |
Limitações e problemas conhecidos
Os registos eliminados poderão ser reinseridos na tabela de entidades após uma falha de sincronização
Quando recupera de falhas de sincronização, os registos que tenham sido eliminados anteriormente poderão ser reinseridos na tabela de entidades de origem. Para resolver este problema quando ocorrem falhas de sincronização, siga estes passos.
Crie Perfis de Exportação ativados para Escrever Registo de Eliminações. Recrie os Perfis de Exportação existentes que não tenham Escrever Registo de Eliminações ativado.
Crie e execute uma consulta SQL para a base de dados SQL do Azure de destino que procura registos na tabela DeleteLog. Se for encontrado um ou mais registos, indica a presença de registos eliminados.
Se existir um ou mais registos na tabela DeleteLog, crie e execute uma consulta SQL que deteta instâncias onde o ID do registo para um registo encontrado na tabela DeleteLog corresponde ao ID do registo para um registo numa tabela EntityName e o versionNumber em deleteLog é superior ao versionNumber no registo na tabela EntityName. Quando ocorrer uma correspondência de IDs de registo, elimine o registo da tabela EntityName. Por exemplo, se um ID de registo na coluna AccountId da tabela DeleteLog corresponder a um ID de registo na coluna AccountId da tabela de entidades AccountBase e o versionNumber em DeleteLog é superior ao versionNumber na tabela Conta, elimine o registo da tabela de entidades AccountBase.
Importante
Consoante as necessidades e os requisitos de negócio, recomendamos que execute frequentemente as consultas SQL para a eliminação de registos, mas durante as horas não operacionais.
Consulta de exemplo para a eliminação de registos 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 suportam a exportação de dados
As entidades listadas aqui, embora suportem a monitorização de alterações, não são suportadas para exportação de dados utilizando o Serviço de Exportação de Dados.
Entidade |
Nome da Tabela |
Solução |
---|---|---|
Atividade |
ActivityPointerBase |
Selecione as entidades de atividade específicas para exportação, como Chamada Telefónica, Compromisso, E-mail e Tarefa. |
Aviso de privacidade
Ao utilizar o Serviço de Exportação de Dados, quando ativa um perfil de exportação de dados a partir do Microsoft Dynamics 365, os dados das entidades adicionadas ao perfil são enviados para o Azure. A sincronização inicial inclui todos os dados associados às entidades adicionadas ao perfil de exportação, mas a sincronização posterior a isso inclui apenas as novas alterações, que são enviadas de forma contínua para o Serviço de Exportação de Dados. Os dados enviados para o 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 último, sincronizados (inseridos, atualizados ou eliminados) com a base de dados de destino especificada na sua subscrição do Azure. Após a sincronização dos dados, estes são eliminados do Barramento de Serviço do Azure e do Armazenamento do Azure. Se ocorrer uma falha durante a sincronização de dados, serão armazenados dados mínimos correspondentes ao tipo de entidade, ID do registo e carimbo de data/hora da sincronização no Armazenamento do Azure para permitir a transferência de uma lista dos registos que não foram atualizados.
O administrador pode desativar o perfil de exportação de dados em qualquer altura para parar a sincronização de dados. Além disso, o administrador pode eliminar o perfil de exportação para remover eventuais registos com falhas, bem como desinstalar a solução Serviço de Exportação de Dados para parar a sua utilização.
A sincronização de dados é realizada continuamente entre o Dynamics 365 e o Serviço de Exportação de Dados de uma forma segura. Os dados são encriptados à medida que são continuamente trocados entre o Dynamics 365 e o Serviço de Exportação de Dados.
Os componentes e serviços do Azure relacionados com o Serviço de Exportação de Dados são descritos em detalhe nas secções seguintes.
Nota: para obter mais informações sobre as ofertas adicionais do serviço do Azure, visite o Centro de Fidedignidade do Microsoft Azure.
Esta solução fornece a API e as VMs de computação do Azure para processar as notificações de sincronização de registos recebidas do Dynamics 365 e, em seguida, processa-as de modo a inserir, atualizar ou eliminar os dados dos registos na base de dados de destino. Os serviços de computação relacionados com a sincronização de dados são integralmente processados pelos microsserviços implementados nas máquinas virtuais geridas pelo runtime do Azure Service Fabric.
Barramento de Serviço do Azure
Esta solução disponibiliza o barramento de mensagens no qual o Dynamics 365 insere as mensagens de notificação de sincronização processadas pelos nós de computação no Azure Service Fabric. Cada mensagem armazena as informações, como o ID da organização e o registo, com as quais os dados devem ser sincronizados. Os dados no Barramento de Serviço do Azure não são encriptados quando estão inativos, mas só podem ser acedidos pelo Serviço de Exportação de Dados.
Armazenamento de Blobs do Azure
Os dados são armazenados temporariamente no Armazenamento de Blobs do Azure para o caso de os dados da notificação de sincronização de registos serem excessivamente extensos para serem armazenados numa mensagem ou para o caso de ser detetada uma falha transitória no processamento da notificação de sincronização. Estes blobs são encriptados recorrendo à mais recente funcionalidade contida no SDK do Armazenamento do Azure, que oferece suporte e integração de encriptação simétrica e assimétrica com o Cofre de Chaves do Azure.
O Base de Dados SQL do Azure armazena as métricas da configuração do perfil de exportação de dados e da sincronização de dados.
Consulte Também
AppSource: Microsoft Dynamics 365 - Serviço de Exportação de Dados
Novidades no Dynamics 365 ‒ Serviço de Exportação de Dados?
Gerir os seus dados
MSDN: Serviço de Exportação de Dados
Blogue da Equipa: Introdução ao Dynamics 365 – Serviço de Exportação de Dados
© 2017 Microsoft. Todos os direitos reservados. Direitos de Autor