Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
A partir de noviembre de 2021, el Servicio de exportación de datos ha quedado en desuso. El Servicio de exportación de datos seguirá funcionando y contará con soporte completo hasta que llegue al final del soporte y el final de su vida útil en noviembre de 2022. Más información: https://aka.ms/DESDeprecationBlog
El servicio de exportación de datos es un servicio de complemento que está disponible en Microsoft Marketplace que agrega la capacidad de replicar datos de Microsoft Dataverse base de datos a un almacén de Azure SQL Database en una suscripción de Azure propiedad del cliente. Los destinos de destino admitidos se Azure SQL Database y SQL Server en máquinas virtuales de Azure. El servicio de exportación de datos sincroniza inteligentemente los datos completos inicialmente y después sincroniza de manera continua cuando se producen cambios (cambios delta) en el sistema. Esto ayuda a habilitar varios escenarios de análisis e informes sobre los datos con Azure servicios de datos y análisis, y abre nuevas posibilidades para que los clientes y asociados creen soluciones personalizadas.
Nota
Se recomienda encarecidamente exportar los datos de Dataverse a Azure Synapse Analytics o Azure Data Lake Gen2 con Azure Synapse Link para Dataverse. Más información: Acelere el tiempo para obtener información con Azure Synapse Link para Dataverse
Puede usar el servicio de exportación de datos con aplicaciones de interacción con clientes (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, marketing de Dynamics 365 y Dynamics 365 Project Service Automation).
Para obtener información sobre la interfaz programática para administrar la configuración y administración del servici de exportación de datos, consulte Servicio de exportación de datos en la guía del desarrollador.
Requisitos previos para utilizar el servicio de exportación de datos
Para comenzar a utilizar el servicio de exportación de datos, los requisitos previos siguientes son necesarios.
servicio Azure SQL Database
Una suscripción de Azure SQL Database propiedad del cliente. Esta suscripción debe permitir el volumen de datos que se sincroniza.
Configuración de firewall. Se recomienda desactivar Permitir acceso a los servicios de Azure y especificar las direcciones IP de cliente adecuadas mencionadas en este tema. Más información: Direcciones IP estáticas de la base de datos Azure SQL usadas por el servicio de exportación de datos
Como alternativa, puede activar Permitir el acceso a servicios de Azure para permitir el acceso a todos los servicios de Azure.
Para SQL Server en Azure máquina virtual, se debe habilitar la opción "Conectar a SQL Server a través de Internet". Más información: Azure: Conexión a una máquina virtual de SQL Server en Azure
Además, configure las reglas de firewall para permitir la comunicación entre el servicio de exportación de datos y SQL Server.
El usuario de la base de datos debe tener permisos a nivel de base de datos y esquema de acuerdo con las siguientes tablas. El usuario de la base de datos se usa en la cadena de conexión para la exportación de datos.
Permisos de base de datos requeridos.
Código del tipo de permiso Nombre del permiso CRTB CREAR TABLA CRTY CREAR TIPO CRVW CREAR VISTA CRPR CREAR PROCEDIMIENTO ALUS MODIFICAR CUALQUIER USUARIO VWDS VER ESTADO DE BASE DE DATOS Permisos de esquema requeridos.
Código del tipo de permiso Nombre del permiso AL MODIFICAR IN INSERTAR DL Suprimir SL SELECCIONAR Arriba ACTUALIZAR EX EJECUTAR RF REFERENCIAS
servicio Azure Key Vault
Suscripción de Key Vault propiedad del cliente, que se utiliza para mantener de forma segura la cadena de conexión de la base de datos.
Conceda permiso PermissionsToSecrets a la aplicación con el identificador "b861dbcc-a7ef-4219-a005-0e4de4ea7dcf". Esto se puede completar ejecutando el comando azurePowerShell siguiente y se usa para acceder al Key Vault que contiene el secreto de connection string. Más información: Cómo configurar Azure Key Vault
Los secretos dentro de la Key Vault deben etiquetarse con el identificador de organización (OrgId) y los identificadores de inquilino (TenantId). Esto se puede completar ejecutando el comando de AzurePowerShell a continuación. Más información: Cómo configurar Azure Key Vault
Configure las reglas de firewall para permitir la comunicación entre data Export Service y Azure Key Vault.
Aplicaciones de interacción con el cliente
Un entorno versión 9.0 o posterior.
La solución Servicio de exportación de datos debe estar instalada.
- Vaya a Settings>Microsoft Marketplace> search or browse to Microsoft Dynamics 365 - Data Export Service, y, a continuación, seleccione Get it now.
- O bien, encuéntralo en Microsoft Marketplace.
Las entidades que se agregarán al Perfil de exportación deben estar habilitadas con seguimiento de cambios. Para garantizar que una entidad estándar o personalizada se puede sincronizar, vaya a Personalización>Personalizar el sistema, y seleccione la entidad. En la pestaña General asegúrese de que la opción Seguimiento de cambios en la sección Servicios de datos esté habilitada.
Debe tener el rol de Administrador de seguridad del sistema en el entorno.
Navegador web
Habilite las ventanas emergentes para el dominio https://discovery.crmreplication.azure.net/ en el explorador web. Esto es necesario para el inicio de sesión automático cuando navega a Configuración > Exportar datos.
Servicios, credenciales, y privilegios requeridos
Para usar la característica del servicio de exportación de datos, debe contar con los servicios, las credenciales y los privilegios siguientes.
Una suscripción. Solo los usuarios a los que se asigna el rol de seguridad Administrador del sistema pueden configurar o realizar cambios en un Perfil de exportación.
Azure suscripción que incluye los siguientes servicios.
Azure SQL Database o AzureSQL Server en máquinas virtuales Azure.
Azure Key Vault.
Importante
Para usar el servicio de exportación de datos, las aplicaciones de interacción con el cliente y los servicios de Azure Key Vault deben funcionar con el mismo inquilino y dentro del mismo Microsoft Entra ID. Más información: integración de Azure con Microsoft 365
El servicio de base de datos de Azure SQL puede estar en la misma entidad o en una diferente del servicio.
Qué debe conocer antes de usar el servicio de exportación de datos
Los perfiles de exportación deben eliminarse y después reconstrurse siempre se realice alguna de las siguientes acciones en un entorno.
- Restaurar un entorno.
- Copiar un entorno (completo o mínimo).
- Restablecer un entorno.
- Mover un entorno a un país o región diferente.
Para ello, elimine el Perfil de exportación en la vista de EXPORTACIÓN DE PERFILES, después elimine las tablas y procedimientos almacenados y, a continuación cree un nuevo perfil. Más información: Cómo eliminar todas las tablas de perfil de exportación de datos y procedimientos almacenados
El servicio de exportación de datos no funciona para entornos de espacio aislado o de producción que están configurados con Habilitar modo de administración activado. Más información: Modo de administración
El servicio de exportación de datos no quita (elimina) las tablas, columnas ni objetos de procedimiento almacenado asociados en la base de datos de destino Azure SQL cuando se producen las siguientes acciones.
Se elimina a una entidad.
Se elimina un campo.
Se quita una entidad de un perfil de exportación.
Estos elementos se deben quitar manualmente. Cómo eliminar las tablas y procedimientos almacenados del perfil de exportación de datos de una entidad específica Las notificaciones de eliminación de metadatos se guardan en la carpeta unprocessablemessages. Control de errores y supervisión
Perfil de exportación
Para exportar datos de las aplicaciones de involucración del cliente, el administrador crea un Perfil de exportación. Varios perfiles se pueden crear y activar para sincronizar los datos con distintas bases de datos de destino simultáneamente.
El Perfil de exportación es el concepto básico del servicio de exportación de datos. El Perfil de exportación reúne información de instalación y configuración para sincronizar los datos con la base de datos de destino. Como parte del Perfil de exportación, el administrador proporciona una lista de entidades que se exportarán a la base de datos de destino. Una vez activado, el Perfil de exportación inicia la sincronización automática de los datos. En principio, se exportan todos los datos que corresponden a cada entidad seleccionada. A partir de entonces, solo los cambios en los datos que ocurren en los registros de entidad o en los metadatos en aplicaciones de gestión de relaciones con el cliente se sincronizan continuamente utilizando un mecanismo push casi en tiempo real. Por lo tanto, no debe configurar una programación para recuperar datos de aplicaciones de experiencia del cliente.
Solo las entidades que tienen el seguimiento de cambios habilitado se pueden agregar al Perfil de exportación. Tenga en cuenta que la mayoría de las entidades estándar que capturan datos están habilitadas para seguimiento de cambios. Las entidades personalizadas deben estar habilitadas explícitamente para el seguimiento de cambios para poder agregarlas a un Perfil de exportación. Más información: Habilitar seguimiento de cambios para controlar la sincronización de datos.
El servicio de exportación de datos realiza sincronización de metadatos y de datos. Cada entidad se traduce a una tabla, y cada campo se traduce a una columna de la tabla de base de datos de destino. Los nombres de tabla y de columna usan el nombre de esquema de los metadatos.
Una vez activado, un Perfil de exportación recopila estadísticas de la sincronización de datos que le ayudan en visibilidad operativa y diagnóstico de los datos exportados.
Sincronización de datos disponible con un perfil de exportación
| Categoría | Característica | Tipos de datos admitidos |
|---|---|---|
| Sincronización inicial | Metadatos - Tipos de datos básicos | Tipos de datos de número entero, número de punto flotante, número decimal, línea de texto única, texto multilínea, fecha y hora. |
| Sincronización inicial | Metadatos - Tipos de datos avanzados | Divisa, PartyList, Conjunto de Opciones, Estado, Razón del Estado, Búsqueda (incluida la búsqueda de tipo Cliente y de Relación). PartyList solo está disponible para la versión de exportación 8.1 y posteriores. |
| Sincronización inicial | Datos - Tipos básicos | Todos los tipos de datos básicos |
| Sincronización inicial | Datos - Tipos avanzados | Todos los tipos de datos avanzados |
| Sincronización delta | Modificar esquema - Tipos básicos | Agregar o modificar un campo, todos los tipos de datos básicos. |
| Sincronización delta | Modificar esquema - Tipos avanzados | Agregar o modificar un campo, todos los tipos de datos avanzados. |
| Sincronización delta | Modificar datos - Tipos básicos | Todos los tipos de datos básicos |
| Sincronización delta | Modificar datos - Tipos avanzados | Todos los tipos de datos avanzados, como PartyList. |
Crear un perfil de exportación
Asegúrese de que cumple los siguientes requisitos antes de crear un Perfil de exportación.
La solución Servicio de exportación de datos está instalada en su entorno.
Mantenga la cadena de conexión de SQL Database en Key Vault y copie la URL de Key Vault para incluir en el perfil de exportación. Más información: Azure: Introducción a Azure Key Vault
Las entidades que se agregarán al Perfil de exportación están habilitadas para el seguimiento de cambios. Más información: Habilitar seguimiento de cambios para controlar la sincronización de datos.
El servicio SQL Database tiene suficiente espacio de almacenamiento para almacenar los datos.
Usted es administrador del sistema en el entorno.
Vaya a Configuración>Exportar datos.
Revise la nota y seleccione Continuar o Cancelar si no desea exportar datos.
Seleccione Nuevo para crear un nuevo Perfil de exportación.
En el paso Properties, escriba la siguiente información y seleccione Next para continuar sin conectarse al Key Vault. Al seleccionar Validate se usa la dirección URL de Key Vault que proporcionó para conectarse al Key Vault.
Nombre. Nombre único del perfil. Este campo es obligatorio.
URL de conexión de Key Vault. URL del Repositorio de Claves que apunta a la cadena de conexión almacenada junto con las credenciales utilizadas para conectar a la base de datos de destino. Este campo es obligatorio. Más información: Cómo configurar Azure Key Vault
Importante
La dirección URL de conexión Key Vault distingue mayúsculas de minúsculas. Ingrese la URL de conexión del Key Vault exactamente como se muestra después de ejecutar los comandos de Windows PowerShell en este tema.
Esquema. Nombre para un esquema de base de datos alternativo. Solo son válidos caracteres alfanuméricos. Este campo es opcional. De forma predeterminada, dbo es el esquema que se usa para la base de datos SQL de destino.
Prefijo. Prefijo que se usará para los nombres de tabla creados en la base de datos de destino. Esto ayuda a identificar fácilmente las tablas creadas para el Perfil de exportación en la base de datos de destino. Cuando se especifica, asegúrese de que el prefijo es inferior a 15 caracteres. Este campo es opcional y solo se permiten caracteres alfanuméricos.
Número de reintentos. El número de veces que un registro se reintenta en caso de un error al insertar o actualizar en la tabla de destino. Este campo es obligatorio. Los valores aceptables son 0-20 y el valor predeterminado es 12.
Intervalo de reintento. El número de segundos a esperar antes de reintentar en caso de un error. Este campo es obligatorio. Los valores aceptables son 0-3600 y el valor predeterminado es 5.
Escribir registro de eliminación Valor opcional para registrar los registros eliminados.
En el paso Seleccionar entidades, seleccione las entidades que desee exportar a la base de datos de SQL de destino y luego seleccione Siguiente.
En el paso Seleccionar relaciones, puede sincronizar las relaciones de M:N (varios a varios) existentes con entidades que seleccionó en el paso anterior. Seleccione Siguiente.
En el paso Summary, seleccione Crear y Activar para crear el registro de perfil y conectarse al Key Vault, que comienza el proceso de sincronización. De lo contrario, seleccione Crear para guardar el Perfil de exportación y activarlo más adelante.
Modificar un perfil de exportación existente
Puede agregar o quitar las entidades y relaciones de un Perfil de exportación existente que desea replicar.
Vaya a Configuración>Exportar datos.
En la vista Todos los perfiles de exportación de datos, seleccione el Perfil de exportación que desea cambiar.
En la barra de herramientas Acciones, seleccione ADMINISTRAR ENTIDADES para agregar o quitar entidades para exportación de datos. Para agregar o quitar relaciones de entidad, seleccione ADMINISTRAR RELACIONES.
Seleccione las entidades o entidades de relación que desea agregar o quitar.
Seleccione Actualizar para enviar los cambios al Perfil de exportación.
Importante
Cuando se quita una entidad o una relación entre entidades de un Perfil de exportación, no se elimina la tabla correspondiente en la base de datos de destino. Para poder volver a agregar una entidad que ha sido eliminada, debe eliminar la tabla correspondiente en la base de datos de destino. Para quitar una tabla de entidades, vea Cómo eliminar tablas de perfil de exportación de datos y procedimientos almacenados para una entidad específica.
Detalles de la tabla del Azure SQL Database de destino
El servicio de exportación de datos crea tablas para metadatos y datos. Se crea una tabla para cada entidad y relación M:N que se sincroniza.
Una vez activado un Perfil de exportación, estas tablas se crean en la base de datos de destino. Estas son tablas del sistema y no tendrán los campos SinkCreatedTime y SinkModifiedTime agregados.
| Nombre de la tabla | Creado |
|---|---|
| <Prefijo>_GlobalOptionsetMetadata | Tras la activación del Perfil de exportación. |
| <Prefijo>_OptionsetMetadata | Tras la activación del Perfil de exportación. |
| <Prefijo>_StateMetadata | Tras la activación del Perfil de exportación. |
| <Prefijo>_StatusMetadata | Tras la activación del Perfil de exportación. |
| <Prefijo>_TargetMetadata | Tras la activación del Perfil de exportación. |
| <Prefijo>_AttributeMetadata | Tras la activación del Perfil de exportación. |
| <Prefijo>_DeleteLog | Cuando se habilita la opción de eliminar registros tras la activación del perfil de exportación. |
Solución de problemas de sincronización
Incluso después de varios reintentos, los errores de sincronización de registros se pueden producir por limitaciones de almacenamiento de base de datos o bloqueo de tablas debido a consultas de ejecución larga. Para resolver estos errores puede forzar una resincronización únicamente de registros de error o una resincronización de todos los registros.
Vea los perfiles de exportación para buscar los que tengan errores de sincronización de registros. Para ello, vea los perfiles de datos del área Sincronización o abra un Perfil de exportación, como este perfil que tiene un error de sincronización de registros de la entidad de contacto.
Examine el origen del error de sincronización y resuélvalo. Más información: Control de errores y supervisión
Una vez que se resuelva el problema, resincronice los registros incorrectos
Nota
La sincronización de registros fallidos es una función de vista previa pública.
- Las características en versión preliminar no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.
- Se espera que esta característica se modifique, así que no debería usarla en producción. Úsela solo en entornos de desarrollo y prueba.
- Microsoft no ofrece soporte técnico para esta versión preliminar de característica. El soporte técnico de Microsoft Dynamics 365 no podrá ayudarle con problemas ni preguntas. Las características en vista previa no se han diseñado para su uso en producción y están sujetas a otros términos de uso complementarios.
Inicie sesión en su entorno y vaya a Configuración>Exportación de datos.
Abra el Perfil de exportación que incluye los errores de sincronización de registros.
En la barra de herramientas Perfil de exportación, seleccione RESINCRONIZAR REGISTROS INCORRECTOS.
Seleccione Aceptar tras la resincronización correcta de los registros incorrectos en el cuadro de diálogo de confirmación.
- Compruebe que el Perfil de exportación no contiene notificaciones de registros incorrectos abriendo el perfil de exportación de datos y viendo el contador Notificaciones incorrectas en la pestaña PROPIEDADES E INFORMACIÓN GENERAL, que debe ser 0. Seleccione ACTUALIZAR en la barra de herramientas Perfil de exportación para asegurarse de que el valor Notificaciones incorrectas es actual.
- Las características en versión preliminar no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.
Si persisten los errores de sincronización de registros después de haber probado la resincronización siguiente los pasos anteriores, póngase en contacto con Servicios de soporte al cliente de Microsoft.
Control de errores y supervisión
Para ver el estado de sincronización de un Perfil de exportación, vaya a Configuración>Exportación de datos y abra el Perfil de exportación. En la pestaña ENTIDADES, el estado de sincronización se muestra incluyendo una columna Registros incorrectos para los registros que no se pudieron sincronizar. Para cualquier registro con error, una lista de esos registros incluida la razón para el estado se puede descargar seleccionando REGISTROS INCORRECTOS en la barra de comandos.
En el Perfil de exportación puede seleccionar PROPIEDADES E INFORMACIÓN GENERAL para mostrar las propiedades del perfil. Seleccione RELACIONES para ver el estado de sincronización de las relaciones.
Cómo ver información detallada sobre los registros con errores de sincronización
Ver los registros incorrectos puede ayudarle a determinar la causa de los errores de sincronización. Para ver los registros con errores en la base de datos de destino de Azure, use Azure Storage Explorer, una aplicación independiente gratuita que le permite trabajar fácilmente con datos de Azure Storage. Más información: Azure Storage Explorer.
Vaya a Configuración>Exportar datos.
En la vista Todos los perfiles de exportación de datos, seleccione el Perfil de exportación que tiene notificaciones incorrectas.
En la barra de herramientas de acciones, seleccione REGISTROS FALLIDOS.
En el cuadro de diálogo Descargar registros incorrectos, seleccione Copiar URL de blob y, a continuación, seleccione Aceptar.
Nota
La dirección URL de blob es válida durante un máximo de 24 horas. Si la dirección URL supera el periodo de 24 horas, repita los pasos descritos anteriormente para generar una nueva dirección URL de blob.
Inicie Azure Storage Explorer.
En Azure Storage Explorer, seleccione Conectar a Azure Storage.
Pegue la dirección URL del Portapapeles en el cuadro Conectar a Azure Storage y, a continuación, seleccione Next.
En la página Resumen de conexión, seleccione Conectar.
Azure Storage Explorer se conecta a la base de datos de destino. Si existen registros con errores para el perfil de exportación, Azure Storage Explorer muestra las carpetas de sincronización de registros con errores.
Cómo ver información detallada sobre los registros con errores de sincronización (vista previa)
Puede descargar los registros erróneos directamente desde la interfaz de usuario del servicio de exportación de datos. Esta característica está funcionando actualmente en vista previa y sería importante que pruebe y proporcione comentarios.
Pasos para descargar registros incorrectos:
Identifique el perfil con registros fallidos.
Seleccione el perfil y seleccione Descargue los registros fallados (la vista previa) de la barra de menú superior.
En el cuadro Descarga de registros fallidos, verá una lista ordenada de los últimos 20 archivos blob como máximo. Seleccione el que quiera descargar y después seleccione Aceptar.
Una vez descargado, abra el archivo en un editor de texto de su elección, por ejemplo Notepad, y vea los detalles de los fallos.
Estructura de carpetas de sincronización de registros incorrectos y archivos de registro
La dirección URL de Azure Blob Storage para los registros con errores apunta a una ubicación que tiene la siguiente estructura de carpetas:
data. Esta carpeta contiene notificaciones de datos incorrectos y el JSON asociado para los datos de registro.
metadata. Esta carpeta contiene notificaciones de metadatos incorrectos y el JSON asociado para los metadatos.
failurelog. Esta carpeta contiene los registros que proporcionan información sobre el error de sincronización y la razón por la que el error se produjo.
forcerefreshfailurelog. Esta carpeta contiene errores de la última ejecución del comando Registros incorrectos del servicio de exportación de datos usado para volver a sincronizar los registros incorrectos.
mensajesinprocesables. Esta carpeta contiene las notificaciones de datos que no se procesaron debido a la eliminación de datos o metadatos y el JSON asociado.
Las carpetas failurelog y forcerefreshfailurelog se estructuran Año\Mes\Día\Hora para poder buscar rápidamente los últimos errores. Se eliminan todos los registros de error con más de 30 días.
Aquí hay un archivo de registro de ejemplo que indica un error de sincronización de registro de entidad de contacto.
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.
Las razones comunes de errores de sincronización de registros
Estas son algunas razones por las que los errores de sincronización de registros pueden ocurrir.
Almacenamiento insuficiente para la base de datos de destino. Antes de intentar volver a sincronizar los registros con errores, aumente o libere Azure SQL Database almacenamiento según corresponda. Cuando este problema aparece, un mensaje similar a este se registra en el registro de errores.
La base de datos 'databasename' alcanzó su cuota de tamaño. Cree particiones o elimine datos, elimine índices o consulte la documentación para ver resoluciones posibles.
Tiempos de espera de sincronización con Azure SQL Database. Esto puede ocurrir durante la sincronización inicial de un perfil de exportación de datos cuando grandes cantidades de datos se procesan a la vez. Cuando este problema ocurre, resincronice los registros incorrectos. Solución de problemas de sincronización
Procedimientos recomendados al usar Azure SQL Database con la exportación de datos
Para evitar errores de sincronización debidos a la limitación de recursos, se recomienda tener una Azure SQL Database Premium P1 o un plan superior al usar el servicio de exportación de datos. Más información: límites de recursos Azure SQL Database y SQL Database Pricing
Establezca Azure SQL Database para usar el aislamiento de instantáneas confirmadas de lectura (RCSI) para las cargas de trabajo que se ejecutan de forma concurrente en la base de datos de destino y que realizan consultas de larga duración de lectura, como informes y trabajos ETL. Esto reduce la incidencia de errores de tiempo de espera que pueden presentarse con el Servicio de Exportación de Datos debido a conflictos de lectura y escritura.
Para ayudar a mejorar el rendimiento de las consultas, recomendamos que el grado máximo de la base de datos de paralelismo (MAXDOP) del servicio de exportación de datos se establezca en 1. Más información: MSDN: Opciones de memoria del servidor
Evalúe con frecuencia la cantidad de fragmentación, y cuando sea necesario, vuelva a crear los índices en la base de datos del servicio de exportación de datos. Más información: Reorganizar y volver a crear los índices
Actualice periódicamente las estadísticas de la base de datos de tablas y vistas indexadas en la base de datos del servicio de exportación de datos. Más información: Actualizar estadísticas
Supervise la utilización de la base de datos del servicio de exportación de datos. Más información: Supervisión de rendimiento
Acerca de la latencia de sincronización de datos
El Servicio de Exportación de Datos está diseñado para sincronizar los cambios de datos en la base de datos de destino mediante un mecanismo de empuje, escuchando los cambios a medida que ocurren en aplicaciones de interacción con el cliente. El servicio intenta enviar los datos en cuestión de pocos minutos, pero hay un número de factores que afecta a la latencia de sincronización completa.
Los factores que afectan a la duración de la sincronización incluyen:
- La carga de trabajo actual en las aplicaciones de involucración del cliente.
- La velocidad de cambio de datos en las aplicaciones de involucración del cliente.
- El número de entidades que se agregan a cada perfil de exportación y sus atributos.
- SQL Server rendimiento. Por ejemplo:
- El tiempo de configuración de la conexión de SQL.
- El tiempo de ejecución de la instrucción SQL.
Según nuestra supervisión del servicio se ha observado que la mayor parte de la sincronización delta en curso termina en 15 minutos, si el servicio funciona en las siguientes condiciones:
- La sincronización que se produce es una sincronización delta y no la sincronización inicial. La sincronización delta solo es para operaciones de cambio de datos, lo que incluye transacciones de creación de registros, actualización y eliminación. Tenga en cuenta que la sincronización delta comienza una vez que se termina la sincronización inicial.
- La velocidad de cambio de datos máxima en aplicaciones de involucración del cliente para todas las entidades del perfil de exportación es inferior a 3000 registros por hora. Cualquier aumento repentino de la velocidad de cambio de datos debido a cambios masivos de registros que supere la velocidad de cambio máxima añadirá más latencia.
- Cada entidad que se ha agregado a un perfil de exportación tiene menos de 150 atributos.
- La conexión de la base de datos o la ejecución de la instrucción SQL termina en menos de 10 segundos. Si se supera este límite aumentará la latencia.
- No se establece una conexión de la base de datos de destino ni se producen errores de ejecución de SQL durante la sincronización.
Cuando se cumplan las condiciones anteriores, la latencia de la sincronización suele ser de 15 minutos. Microsoft no ofrece ningún acuerdo de nivel de servicio (SLA) para el servicio de exportación de datos y no ofrece garantías ni compromisos en relación con el tiempo de la latencia de sincronización.
Configuración de Azure Key Vault
Ejecute el script de PowerShell de Windows que se describe aquí como administrador de cuentas de Azure para conceder permiso a la característica Servicio de exportación de datos para que pueda acceder a la Azure Key Vault. Este script muestra la URL de la bóveda de claves necesaria para crear el perfil de exportación que se utiliza para acceder a la cadena de conexión.
Antes de ejecutar el script, reemplace los marcadores para las variables siguientes.
$subscriptionId. El grupo de recursos Key Vault que desea usar. Si aún no existe un grupo de recursos, se creará uno nuevo con el nombre que especifique. En este ejemplo, se usa ContosoResourceGroup1.
$location. Especifique la ubicación donde el grupo de recursos está o debe estar ubicado, como Oeste de EE.UU..
$connectionString. La cadena de conexión a la base de datos SQL de Azure. Puede usar ADO.NET connection string tal como se muestra en el panel de Azure.
$organizationIdList = Lista separada por comas de organizaciones permitidas, ordenada por Id. de organización (organizationId), para habilitar el servicio de exportación de datos. Para buscar el Id. de una organización, en , vaya a Configuración>Personalizaciones>Recursos de desarrollador. El Id. de organización está en Información de referencia del entorno.
$tenantId. Especifica el identificador del inquilino de Azure Active Directory al que pertenece la suscripción de Key Vault.
Importante
Una suscripción de Azure puede tener varios Ids de inquilino de Azure Active Directory. Asegúrese de seleccionar el identificador de inquilino de Azure Active Directory correcto asociado al entorno que usará para la exportación de datos.
Nota
Asegúrese de que el identificador de usuario al que se hace referencia en el $connectionString tenga el permiso adecuado para la base de datos de Azure SQL de destino.
# -------------------------------------------------------------------------------- #
# 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)""
Cómo eliminar todas las tablas de perfil de exportación de datos y procedimientos almacenados
Importante
Para ejecutar esta instrucción SQL asegúrese de que ha definido correctamente los valores @prefix y @schema en la instrucción. El Perfil de exportación deberá volver a crearse después de ejecutar esta instrucción 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;
Cómo eliminar tablas de perfil de exportación de datos y procedimientos almacenados para una entidad específica
Importante
Para ejecutar esta instrucción SQL asegúrese de que ha definido correctamente los valores @prefix, @schema y @entityName en la instrucción. En este ejemplo, se quitan la tabla, los tipos, y procedimientos almacenados de la entidad de clientes potenciales.
-----------------------------------------------------------------
-- 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;
Cómo desinstalar el Servicio de exportación de datos de Administrar Power Platform
- Navegue hasta la Configuración avanzada.
- Seleccione Configuración > Personalizaciones y, a continuación, seleccione Soluciones.
- Elija DataExportService publicado por Microsoft Dynamics 365 y seleccione Delete.
Encuentra el Id de arrendatario de Microsoft Entra para tu inquilino
- Inicie sesión en el portal Azure.
- En Azure services seleccione Propiedades de inquilino.
- Seleccione el valor en el campo Id. del inquilino.
Base de Datos Azure SQL direcciones IP estáticas usadas por el Servicio de Exportación de Datos
En Azure SQL Database, seleccione Configurar firewall del servidor, cambie Permitir acceso a servicios de Azure a DESACTIVADO, seleccione Agregar IP del cliente y luego agregue las direcciones IP adecuadas para la región de su entorno. Más información: Azure: Configuración de una regla de firewall de nivel de servidor Azure SQL Database mediante Azure Portal
| Región | Nueva dirección IP | Antigua dirección IP |
|---|---|---|
| Oeste de EE. UU. | 20.245.127.60 | 13.64.148.9 |
| Este de EE. UU. | 172.174.41.63 | 20.228.153.81 |
| Este de Asia | 20.239.192.9 | 104.208.84.217 |
| Sudeste Asiático | 20.24.15.60 | 20.205.153.14 |
| Centro de la India | 20.219.158.75 | 20.198.113.107 |
| Sur de la India | 52.140.54.95 | 104.211.204.18 |
| Oeste de Europa | 20.126.43.104 | 40.68.244.253 |
| Norte de Europa | 20.166.94.137 | 20.238.83.32 |
| Japón Occidental | Sin cambios | 104.214.144.93 |
| Japón Oriental | 52.253.104.175 | 20.89.138.246 |
| Brasil del sur | 4.228.211.102 | 20.197.186.17 |
| Sureste de Australia | Sin cambios | 20.70.112.80 |
| Este de Australia | 20.5.88.96 | 20.213.58.3 |
| Centro de Canadá | 20.220.227.230 | 20.151.173.107 |
| Este de Canadá | 40.86.216.207 | 52.229.109.91 |
| Oeste de Reino Unido | 51.142.173.150 | 20.68.113.18 |
| Sur de Reino Unido | 20.117.159.198 | 20.117.89.184 |
Nota
Los clientes de Norteamérica deben agregar direcciones IP a una lista aprobada tanto para el Este de EE. UU. como para el Oeste de EE. UU.
Para evitar interrupciones en la sincronización de datos, los clientes deben conservar la dirección IP nueva y la dirección IP anterior.
Problemas conocidos
Los registros eliminados pueden reinsertarse en la tabla de la entidad después de un error de sincronización
Cuando se recupera de errores de sincronización, los registros que habían sido eliminados anteriormente pueden volver a insertarse en la tabla de la entidad original. Para solucionar este problema cuando los errores de sincronización aparecen, siga estos pasos.
Cree perfiles de exportación que estén habilitados para el registro de escritura y eliminación. Vuelva a crear los perfiles de exportación existentes que no tengan habilitado el registro de escritura y eliminación.
Cree y ejecute una consulta SQL para la base de datos de destino de Azure SQL que busca registros en la tabla DeleteLog. Si se encuentran uno o más registros indica la presencia de registros eliminados.
Si uno o más registros existen en la tabla DeleteLog, cree y ejecute una consulta SQL que detecte los entornos donde el Id. de registro para un registro encontrado en la tabla DeleteLog coincida con el Id. de un registro de una tabla EntityName y el número de versión de la tabla DeleteLog sea mayor que el número de versión en el registro de la tabla EntityName. Cuando se produzca una coincidencia de Id. de registro, elimine el registro de la tabla EntityName. Por ejemplo, si un Id de registro de la columna AccountId de la tabla DeleteLog coincide con un Id de registro de la columna AccountId de la tabla de entidades AccountBase y el versionNumber en DeleteLog es mayor que el versionNumber de la tabla Account, elimine el registro de la tabla de entidades AccountBase.
Importante
Según sus necesidades de negocio y los requisitos, se recomienda que ejecute las consultas SQL para la eliminación de registros con frecuencia, pero durante las horas no operativas.
Ejemplo de consulta para la eliminación de registro de una entidad.
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 no admiten la exportación de datos
Aunque las entidades enumeradas aquí admiten seguimiento de cambios, no se admiten para exportación de datos mediante el servicio de exportación de datos.
| Entidad | Nombre de tabla | Solución alternativa |
|---|---|---|
| Actividad | ActivityPointerBase | Seleccione las entidades de actividad específicas para exportación, como llamada de teléfono, cita, correo electrónico, y tarea. |
No se puede crear una fila mayor que el tamaño máximo permitido de fila (8K)
Si en su registro de errores aparece “No puede crear una fila de tamaño (tamaño) que es mayor que el tamaño máximo permisible de la fila de 8060 ", tiene un problema en el que está superando el máximo permitido límite del tamaño de la fila. El servicio de exportación de datos no admite filas superiores al tamaño máximo permitido de fila de 8k. Para mitigar esto, debe asegurarse de que respeta los límites de tamaño de la fila.
La longitud de la cadena de origen es más larga que el esquema de destino para ColumnName
Si los registros de errores muestran "La longitud de la cadena de origen es superior al esquema de destino para [ColumnName, MaxDataLength]" se está enfrentando a un problema en el que la longitud de la cadena de su origen es mayor que la del destino. Si el largo de la cadena de su fuente de datos supera al del destino, las escrituras al destino fallarán. Para mitigar este problema debe reducir el tamaño de los datos o aumentar el largo de la columna, mayor que la longitud máxima manual en la base de datos.
No se admiten adjuntos
Exportar archivos adjuntos como el cuerpo del documento en la tabla Anotación no es compatible.
Aviso de privacidad
Mediante el servicio de exportación de datos, al activar un perfil de exportación de datos desde Dynamics 365, los datos de las entidades agregadas al perfil se envían a Azure. La sincronización inicial incluye todos los datos asociados con las entidades agregadas al perfil de exportación, pero la sincronización incluye solo los cambios nuevos, que se envían continuamente al servicio de exportación de datos. Los datos enviados al servicio de exportación de datos se almacenan temporalmente en Azure Service Bus y Azure Storage, se procesan en Azure Service Fabric y, por último, se sincronizan (insertadas, actualizadas o eliminadas) en la base de datos de destino especificada en la suscripción de Azure. Una vez sincronizados los datos, se elimina de Azure Service Bus y Azure Storage. Si se produce un error durante la sincronización de datos, los datos mínimos correspondientes al tipo de entidad, el identificador de registro y la marca de tiempo de sincronización se almacenan en Azure Storage para permitir la descarga de una lista de registros que no se actualizaron.
Un administrador puede desactivar el perfil de exportación de datos en cualquier momento para detener la sincronización de datos. Además, un administrador puede eliminar el perfil de exportación para quitar los registros de errores y puede desinstalar la solución Servicio de exportación de datos para dejar de usar el servicio de exportación de datos.
La sincronización de datos se produce continuamente entre Dynamics 365 y el servicio de exportación de datos de forma segura. Los datos se cifran, ya que se intercambian continuamente entre Dynamics 365 y el servicio de exportación de datos.
Azure componentes y servicios implicados en el servicio de exportación de datos se detallan en las secciones siguientes.
Microsoft Azure Centro de confianza
Esto proporciona la API y las máquinas virtuales de cómputo de Azure para gestionar las notificaciones de sincronización de registros recibidas de Dynamics 365 y, a continuación, procesarlas para insertar, actualizar o eliminar datos de registro en la base de datos de destino. Los microservicios que se implementan en máquinas virtuales administradas por el entorno de ejecución de Azure Service Fabric controlan todos los servicios de proceso relacionados con la sincronización de datos.
Esto proporciona el bus de mensajes en el que Dynamics 365 inserta los mensajes de notificación de sincronización procesados por los nodos de proceso en Azure Service Fabric. Cada mensaje almacena información, como el id. de la organización y el registro, para sincronizar datos. Los datos del Azure Service Bus se cifran en reposo y solo es accesible por el servicio de exportación de datos.
Los datos se almacenan temporalmente en Azure Blob Storage en caso de que los datos de la notificación de sincronización de registros sean demasiado grandes para almacenarse en un mensaje o se produzca un error transitorio para procesar la notificación de sincronización. Estos blobs se cifran aprovechando la característica más reciente del SDK de Azure Storage, que proporciona compatibilidad con el cifrado simétrico y asimétrico y la integración con Azure Key Vault.
El Azure SQL Database almacena las métricas de sincronización de datos y configuración del perfil de exportación de datos.
Consulte también
Información general sobre relaciones entre entidades
Servicio de exportación de datos
Blog del equipo: Introducción al servicio de exportación de datos