Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
A partir de novembro de 2021, o Serviço de Exportação de Dados foi preterido. O Serviço de Exportação de Dados continuará a funcionar e será totalmente suportado até atingir o fim de suporte e o fim de vida em novembro de 2022. Mais informações: https://aka.ms/DESDeprecationBlog
O Data Export Service é um serviço adicional disponibilizado no Microsoft Marketplace que adiciona a capacidade de replicar dados da base de dados Microsoft Dataverse para um armazenamento Azure SQL Database numa subscrição Azure própria do cliente. Os destinos-alvo suportados são Azure SQL Database e SQL Server em máquinas virtuais Azure. O Serviço de Exportação de Dados efetua uma sincronização inicial inteligente de todos os dados e depois sincroniza-os continuamente à medida que ocorrem alterações (alterações delta) no sistema. Isto ajuda a permitir vários cenários de análise e relatórios sobre dados com os serviços de dados e análise do Azure, e abre novas possibilidades para clientes e parceiros criarem soluções personalizadas.
Nota
É altamente recomendado que exporte os seus dados do Dataverse para Azure Synapse Analytics e/ou Azure Data Lake Gen2 com Azure Synapse Link for Dataverse. Mais informações: Acelere o tempo para obter insights com o Azure Synapse Link para Dataverse
Pode usar o Data Export Service com aplicações de envolvimento do cliente (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing e Dynamics 365 Project Service Automation).
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 Exportação de Dados no guia do programador.
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.
Azure SQL Database service
Uma subscrição do Azure SQL Database possuída por um cliente. Esta subscrição tem de permitir o volume de dados que é sincronizado.
Definições da firewall. Recomendamos que desative a opção Permitir acesso aos serviços do Azure e especifique os endereços IP dos clientes apropriados listados neste tópico. Mais informações: Endereços IP estáticos da base de dados Azure SQL utilizados pelo Data Export Service
Alternativamente, pode ativar o Permitir o acesso a Azure serviços para permitir o acesso a todos os serviços Azure.
Para SQL Server em Azure VM, a opção "Conectar-se ao SQL Server via Internet" deve estar ativada. Mais informações: Azure: Conectar-se a uma Máquina Virtual do SQL Server no Azure
Além disso, configure as regras do firewall para permitir a comunicação entre o Data Export Service e o SQL Server.
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 é usado na string de conexão para exportação de dados.
Permissões de base de dados necessárias.
Código de tipo de permissão Nome da permissão CRTB CREATE TABLE 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 SELECT UP ATUALIZAR EX EXECUTAR RF REFERÊNCIAS
Serviço Azure Key Vault
Subscrição do Key Vault do cliente, que é utilizada para manter em segurança a cadeia de ligação à base de dados.
Conceda permissão PermissionsToSecrets à aplicação com o id "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf." Isto pode ser feito executando o comando AzurePowerShell abaixo e é usado para aceder ao Key Vault que contém o connection string secret. Mais informações: Como configurar Azure Key Vault
Os segredos no Key Vault devem ser etiquetados com os IDs da organização (OrgId) e de inquilino (TenantId). Isto pode ser conseguido por execução do comando AzurePowerShell do abaixo. Mais informações: Como configurar Azure Key Vault
Configure as regras do seu firewall para permitir a comunicação entre o Data Export Service e o Azure Key Vault.
Aplicações de interação com os clientes
Um ambiente de versão 9.0 ou posterior.
A solução Serviço de Exportação de Dados tem de estar instalada.
- Vai a Settings>Microsoft Marketplace> pesquisa ou navega até Microsoft Dynamics 365 - Data Export Service, e depois seleciona Obtenha-o agora.
- Ou, encontre-o no Microsoft Marketplace.
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, selecione a 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 no ambiente.
browser
Ativar 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 de > Exportação de Dados.
Serviços, credenciais e privilégios necessários
Para utilizar a caraterística do Serviço de Exportação de Dados, tem de ter os seguintes serviços, credenciais e privilégios.
Uma subscrição. Apenas os utilizadores a quem é atribuído o direito de acesso de Administrador de Sistema podem configurar ou efetuar alterações a um Perfil de Exportação.
Subscrição do Azure que inclui os seguintes serviços.
Azure SQL Database ou AzureSQL Server em máquinas virtuais Azure.
Azure Key Vault.
Importante
Para utilizar o Serviço de Exportação de Dados, as aplicações de envolvimento com o cliente e os serviços do Azure Key Vault devem operar sob o mesmo inquilino e dentro do mesmo Microsoft Entra ID. Mais informações: Integração do Azure com o Microsoft 365
O serviço Azure SQL Database pode estar no mesmo ou num tenant diferente do serviço.
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 ações num ambiente.
- Restaure um ambiente.
- Copie (completa ou mínima) um ambiente.
- Reponha um ambiente.
- Mova um ambiente 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 Dados não funciona para os ambientes de sandbox ou de produção configurados com Ativar modo de administração ativado. Mais informações: Modo de administração.
O Serviço de Exportação de Dados não elimina (elimina) as tabelas, colunas ou objetos de procedimentos armazenados associados na base de dados Azure SQL de destino quando ocorrem as seguintes ações.
Uma entidade é eliminada.
Um campo é eliminado.
Uma entidade é removida de um Perfil de Exportação.
Estes itens têm de ser eliminados manualmente. Como eliminar tabelas do Perfil de Exportação de Dados e procedimentos armazenados 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 das aplicações de interação com os clientes, o administrador 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 nas aplicações de interação com os clientes, através de um mecanismo de emissão via push. Consequentemente, não tem de configurar uma agenda para obter os dados das aplicações de interação com os clientes.
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 padrão 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. Para saber mais, veja: 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.
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 Serviço de Exportação de Dados está instalada no seu ambiente.
Mantenha a cadeia de ligação da Base de Dados SQL no Key Vault e copie o URL do Key Vault a fornecer no Perfil de Exportação. Mais informações: Azure: Comece com Azure Key Vault
As entidades que serão adicionadas ao Perfil de Exportação estão ativadas para monitorização de alterações. Para saber mais, veja: Ativar a monitorização de alterações para controlar a sincronização de dados
O serviço de Base de Dados SQL tem espaço de armazenamento suficiente para armazenar os dados.
É um Administrador de Sistema no ambiente.
Aceda a Definições>Exportação de Dados.
Reveja o aviso e selecione Continuar ou Cancelar, se não pretender exportar dados.
Selecione Novo para criar um novo Perfil de Exportação.
No passo Properties, introduza a informação seguinte e depois selecione Next para continuar sem se ligar ao Key Vault. Selecionar Validar utiliza o URL do Key Vault que forneceu para ligar ao Key Vault.
Name. Nome exclusivo do perfil. Este campo é obrigatório.
URL de Ligação do Key Vault. O URL do Key Vault 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 Azure Key Vault
Importante
A URL de Ligação ao Key Vault é sensível a maiúsculas e minúsculas. Introduza a URL de Ligação do Key Vault exatamente como é exibida depois de executar os comandos PowerShell do Windows 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, em seguida, selecione Seguinte.
No passo Selecionar Relações, poderá sincronizar as relações M:M (muitos-para-muitos) existentes com as entidades que selecionou no passo anterior. Selecione Avançar.
No passo Summary, selecione Criar e Ativar para criar o registo de perfil e ligar-se ao Key Vault, que inicia o processo de sincronização. Caso contrário, selecione Criar para guardar o Perfil de Exportação e 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.
Aceda a 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, selecione GERIR ENTIDADES para adicionar ou remover entidades para exportação de dados. Para adicionar ou remover relações entre entidades, selecione GERIR RELAÇÕES.
Selecione as entidades ou relações entre entidades que pretende adicionar ou remover.
Selecione 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 elimina 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 dados como para os metadados. É 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 | Criada |
|---|---|
| <Prefixo>_GlobalOptionsetMetadata | Ao ativar o Perfil de Exportação. |
| <Prefix>_OptionsetMetadata | Ao ativar o Perfil de Exportação. |
| <Prefix>_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 ao 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.
- As funcionalidades de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.
- 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 o poderá ajudar com questões ou dúvidas. 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 no seu ambiente 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, selecione RESSINCRONIZAR REGISTOS FALHADOS.
Selecione 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. Selecione ATUALIZAR na barra de ferramentas Perfil de Exportação para assegurar que o valor de Notificações Falhadas está atualizado.
- As funcionalidades de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.
Se as falhas de sincronização registo persistirem depois de ter tentado sincronizar novamente seguindo os passos anteriores, contacte os Serviços de suporte ao cliente da Microsoft.
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, selecionando REGISTOS FALHADOS na barra de comandos.
No Perfil de Exportação, pode selecionar PROPRIEDADES E DESCRIÇÃO GERAL para apresentar as propriedades do perfil. Selecione 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 visualizar registos falhados na base de dados de destino do Azure, utilize o Azure Storage Explorer, uma aplicação independente gratuita que permite trabalhar facilmente com dados do Azure Storage. Mais informações: Azure Storage Explorer.
Aceda 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, selecione REGISTOS FALHADOS.
Na caixa de diálogo Transferir Registos Falhados, selecione Copiar URL do Blob e, em seguida, selecione 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.
Start Azure Storage Explorer.
Em Azure Storage Explorer, selecione Ligar a Azure Storage.
Cole o URL da sua prancheta na caixa Liga-se ao Azure Storage e depois selecione Próximo.
Na página Resumo da Ligação, selecione Ligar.
Azure Storage Explorer liga-se à base de dados de destino. Se existirem registos falhados para o Perfil de Exportação, o Azure Storage Explorer mostra pastas de sincronização de registos falhados.
Como ver informações detalhadas sobre os registos cuja sincronização falhou (Pré-visualização)
Pode transferir os registos falhados diretamente a partir da interface de utilizador do Serviço de Exportação de Dados. Atualmente, esta funcionalidade está em Pré-visualização e seria importante testar e enviar comentários.
Passos para transferir os registos falhados:
Identifique o perfil com os registos falhados.
Selecione o perfil e selecione Transferir Registos Falhados (Pré-visualização) a partir da barra de menus superior.
Na caixa de diálogo Transferir Registos Falhados, verá uma lista ordenada dos últimos 20 (máx.) ficheiros blob. Selecione aquele que pretende transferir e selecione Ok.
Depois de transferido, abra o ficheiro num editor de texto à sua escolha (por exemplo, Bloco de Notas) e veja os detalhes para conhecer as falhas.
Estrutura de pastas e ficheiros de registo de sincronização de registos falhados
O URL de armazenamento de Blobs do Azure dos Registos Falhados aponta para uma localização com a seguinte estrutura de pastas:
dados. Esta pasta contém as notificações de dados falhadas e o JSON associado para os dados de registo.
metadados. 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.
Entity: contact, RecordId: 459d1d3e-7cc8-e611-80f7-5065f38bf1c1, NotificationTime: 12/28/2016 12:32:39 AM, ChangeType: Update, FailureReason: The database 'tempdb' has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions.
The statement has been terminated.
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 do Azure SQL Database conforme apropriado. 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 a 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
Boas práticas ao utilizar o Azure SQL Database com Data Export
Para evitar erros de sincronização devido à limitação de recursos, recomendamos que tenha um plano Azure SQL Database Premium P1 ou melhor quando utilizar o Serviço de Exportação de Dados. Mais informações: Azure SQL Database limites de recursos e SQL Database Pricing
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 prolongada, 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.
Para o ajudar a melhorar o desempenho de consulta, recomendamos que o grau de máximo de base de dados de paralelismo (MAXDOP) do Serviço de Exportação de Dados seja definido como 1. Mais informações: MSDN: Opções de memória do servidor
Avalia frequentemente a quantidade de fragmentação e, quando necessário, recria os índices na base de dados do Serviço de Exportação de Dados. Mais informações: Reorganizar e recriar índices
Atualiza periodicamente estatísticas da base de dados em tabelas e vistas indexadas na base de dados do Serviço de Exportação de Dados. Mais informações: Estatísticas de atualização
Monitorize a utilização da base de dados do Serviço de Exportação de Dados. Mais informações: Monitorização do desempenho
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 nas aplicações de Customer Engagement. 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 o seguinte:
- A carga de trabalho atual nas aplicações de interação com os clientes.
- A taxa de alteração de dados nas aplicações de interação com os clientes.
- 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.
Baseado na nossa monitorização do serviço, foi observado que a maior parte da sincronização delta contínua termina ao fim de 15 minutos quando o serviço funciona com as 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 de alteração de dados máxima nas aplicações de interação com os clientes para todas as entidades no perfil de exportação é inferior a 3.000 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 da sincronização.
Como configurar o Azure Key Vault
Execute o script PowerShell do Windows descrito aqui como administrador de conta Azure para dar permissão à funcionalidade Data Export Service para que possa aceder ao seu Azure Key Vault. 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 grupo de recursos Key Vault que queres usar. 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 à Base de Dados SQL do Azure. Pode usar o ADO.NET connection string tal como é exibido no seu painel de Azure.
$organizationIdList = Lista separada por vírgulas das organizações 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, vá para Definições>Personalizações>Recursos para Programadores. O ID da organização está em Informações de Referência do Ambiente.
$tenantId. Especifica o Id do tenant do Azure Active Directory ao qual subscreve o Key Vault.
Importante
Uma subscrição do Azure pode ter múltiplos IDs de inquilino do Azure Active Directory. Certifique-se de que seleciona o Id de Tenant correto do Azure Active Directory associado ao ambiente que irá usar para a exportação de dados.
Nota
Assegure que o ID de Utilizador referenciado no $connectionString tem a permissão adequada para a base de dados Azure SQL alvo.
# -------------------------------------------------------------------------------- #
# 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
Connect-AzAccount -Tenant $tenantId -Subscription $subscriptionId
# Create new resource group if not exists.
$rgAvail = Get-AzResourceGroup -Name $resourceGroupName -Location $location -ErrorAction SilentlyContinue
if(!$rgAvail){
New-AzResourceGroup -Name $resourceGroupName -Location $location
}
# Create new key vault if not exists.
$kvAvail = Get-AzKeyVault -VaultName $keyvaultName -ResourceGroupName $resourceGroupName -ErrorAction SilentlyContinue
if(!$kvAvail){
New-AzKeyVault -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.
$secretValue = ConvertTo-SecureString $connectionString -AsPlainText -Force
$secret = Set-AzKeyVaultSecret -VaultName $keyvaultName -Name $secretName -SecretValue $secretValue -Tags $secretTags
# Authorize application to access key vault.
$servicePrincipal = 'b861dbcc-a7ef-4219-a005-0e4de4ea7dcf'
Set-AzKeyVaultAccessPolicy -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;
Como desinstalar o Serviço de Exportação de Dados de Administer Power Platform
- Navegue para as Definições avançadas.
- Selecione Definições > Personalizaçõese, em seguida selecione Soluções.
- Escolha DataExportService publicado pela Microsoft Dynamics 365, e depois selecione Delete.
Encontre o ID de inquilino Microsoft Entra para o seu inquilino
- Inicie sessão no portal Azure.
- Em serviços Azure selecione Propriedades do inquilino.
- Selecione o valor no campo ID do Inquilino.
Endereços IP estáticos da base de dados Azure SQL usados pelo Serviço de Exportação de Dados
No Azure SQL Database, selecione Set server firewall, transforme Permitir acesso a Azure serviços para OFF, selecione Adicionar IP e depois adicione os endereços IP apropriados para a região do seu ambiente. Mais informações: Azure: Configure uma regra de firewall a nível de servidor Azure SQL Database usando o Azure Portal
| País/Região | Novo Endereço IP | Antigo Endereço IP |
|---|---|---|
| E.U.A. Oeste | 20.245.127.60 | 13.64.148.9 |
| E.U.A. Leste | 172.174.41.63 | 20.228.153.81 |
| Ásia Leste | 20.239.192.9 | 104.208.84.217 |
| Sudeste Asiático | 20.24.15.60 | 20.205.153.14 |
| Índia Central | 20.219.158.75 | 20.198.113.107 |
| Sul da Índia | 52.140.54.95 | 104.211.204.18 |
| Europa Ocidental | 20.126.43.104 | 40.68.244.253 |
| Europa do Norte | 20.166.94.137 | 20.238.83.32 |
| Oeste do Japão | Sem alterações | 104.214.144.93 |
| Leste do Japão | 52.253.104.175 | 20.89.138.246 |
| Sul do Brasil | 4.228.211.102 | 20.197.186.17 |
| Austrália Sudeste | Sem alterações | 20.70.112.80 |
| Leste da Austrália | 20.5.88.96 | 20.213.58.3 |
| Canadá Central | 20.220.227.230 | 20.151.173.107 |
| Leste do Canadá | 40.86.216.207 | 52.229.109.91 |
| Reino Unido, Oeste | 51.142.173.150 | 20.68.113.18 |
| Reino Unido, Sul | 20.117.159.198 | 20.117.89.184 |
Nota
Os clientes da América do Norte devem adicionar endereços IP a uma lista aprovada para EUA Leste e EUA Oeste.
Para impedir quaisquer perturbações à sincronização de dados, os clientes deverão manter o novo endereço IP e o endereço IP antigo.
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 de destino Azure SQL que procure 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 ambientes 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 A 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 |
|---|---|---|
| Activity | ActivityPointerBase | Selecione as entidades de atividade específicas para exportação, como Chamada Telefónica, Compromisso, E-mail e Tarefa. |
Não é possível criar uma linha superior ao tamanho máximo permitido da linha (8K)
Se os registos de erros mostrarem "Não é possível criar a dimensão (size) que é maior do que o tamanho máximo permitido da linha de 8060", está a encontrar um erro em que está a exceder o limite máximo permitido de tamanho da linha. O Serviço de Exportação de Dados não suporta um tamanho de linha superior ao tamanho máximo permitido da linha de 8k. Para mitigar esta situação, é necessário assegurar que cumpre os limites de tamanho da linha.
O comprimento da cadeia na origem é superior ao esquema de destino para ColumnName
Se os registos de erros mostrarem "O comprimento da cadeia na origem é superior ao esquema de destino para [ColumnName, MaxDataLength]" está a encontrar um problema em que o comprimento da cadeia dos dados da origem é maior que o destino. Se o comprimento da cadeia dos dados de origem for maior do que o destino, as escritas no destino vão falhar. Para mitigar este problema, tem de reduzir o tamanho dos dados ou aumentar o comprimento da coluna, maior do que o comprimento máximo manual na BD.
Não existe suporte para anexos
A exportação de anexos, tais como documentbody na tabela Anotação, não é suportada.
Aviso de privacidade
Ao usar o Serviço de Exportação de Dados, quando ativa um perfil de exportação de dados dentro do 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 Data Export Service são armazenados temporariamente no Azure Service Bus e Azure Storage, processados no Azure Service Fabric e, finalmente, sincronizados (inseridos, atualizados ou eliminados) com a base de dados de destino especificada na sua subscrição do Azure. Depois de os dados serem sincronizados, são eliminados do Azure Service Bus e do Azure Storage. Se houver uma falha durante a sincronização de dados, os dados mínimos correspondentes ao tipo de entidade, ID de registo e carimbo temporal de sincronização são armazenados no Azure Storage para permitir o download de uma lista de 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 ocorre continuamente entre o Dynamics 365 e o Serviço de Exportação de Dados de forma segura. Os dados são encriptados, pois são continuamente trocados entre o Dynamics 365 e o Serviço de Exportação de Dados.
Os componentes e serviços do Azure envolvidos no Serviço de Exportação de Dados são detalhados nas secções seguintes.
Microsoft Azure Centro de Confiança
Isto permite que as VMs da API e do Azure processem as notificações de sincronização de registos recebidas do Dynamics 365 e depois as processam para inserir, atualizar ou eliminar dados de registos na base de dados de destino. Micro-serviços implementados em máquinas virtuais geridas pelo runtime do Azure Service Fabric tratam de todos os serviços de computação relacionados com a sincronização de dados.
Isto 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 as informações, como o ID da organização e o registo, com as quais os dados devem ser sincronizados. Os dados no Azure Service Bus são encriptados em repouso e só são acessíveis pelo Data Export Service.
Os dados são temporariamente armazenados no Azure Blob Storage caso os dados da notificação de sincronização de registos sejam demasiado grandes para serem armazenados numa mensagem ou surja uma falha transitória no processamento da notificação de sincronização. Estes blobs são encriptados aproveitando a funcionalidade mais recente do Azure Storage SDK, que oferece suporte e integração para encriptação simétrica e assimétrica com o Azure Key Vault.
A base de dados Azure SQL armazena configuração de perfil de exportação de dados e métricas de sincronização de dados.
Consultar também
Descrição geral das relações entre entidades
Serviço de Exportação de Dados
Blogue da Equipa: Introdução ao Serviço de Exportação de Dados