Solucionar problemas de bases de datos reflejadas de Fabric desde SQL Server

En este artículo se describen los pasos de solución de problemas para crear reflejo de una base de datos en una instancia de SQL Server.

Cambios en la capacidad o área de trabajo de Fabric

Obtenga más información en Cambios en la capacidad de Fabric.

Además, tenga en cuenta las siguientes causas para SQL Server específicamente:

Causa Resultado Resolución recomendada
Área de trabajo eliminada El reflejo de la base de datos se detiene automáticamente y deshabilita el flujo de cambios en SQL Server. En caso de que la creación de reflejo todavía esté activa en SQL Server, ejecute el siguiente procedimiento almacenado en SQL Server: exec sp_change_feed_disable_db;.
Cualquier otro error de recurso La duplicación está deshabilitada Para asegurarse de que los recursos de cómputo no se vean afectados y para minimizar el impacto en SQL Server, el reflejo se deshabilita cuando se detectan errores de recursos persistentes.
La opción "Los usuarios pueden acceder a los datos almacenados en OneLake con aplicaciones externas a Fabric" deshabilitadas "Replicador: las tablas no pueden alcanzar el estado de replicación" Habilite la opción Inquilino Los usuarios pueden acceder a los datos almacenados en OneLake con aplicaciones externas a Fabric.

Consultas sobre solución de problemas y soluciones comunes

Los pasos de solución de problemas y las consultas de diagnóstico pueden ser diferentes en SQL Server 2025 y versiones anteriores a SQL Server 2025.

Solución de problemas de replicación de estructura en SQL Server 2025

Consultas para solucionar problemas en SQL Server 2025

Si tiene problemas de creación de reflejo en SQL Server 2025, realice las siguientes comprobaciones de nivel de base de datos mediante vistas de administración dinámica (DMV) y procedimientos almacenados para validar la configuración.

  1. Ejecute la consulta siguiente para comprobar si los cambios fluyen correctamente:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. Si la DMV sys.dm_change_feed_log_scan_sessions no muestra ningún progreso en el procesamiento de cambios incrementales, ejecuta la siguiente consulta T-SQL para comprobar si hay algún problema notificado:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. Si no se notifica ningún problema, ejecute el siguiente procedimiento almacenado para revisar la configuración actual de SQL Server reflejada. Confirme que se ha habilitado correctamente.

    EXEC sp_help_change_feed;
    

    Las columnas de clave que se van a buscar aquí son table_name y state. Cualquier valor además de 4 indica un posible problema.

  4. Revisar Solución de problemas de bases de datos replicadas de Fabric.

  5. Póngase en contacto con soporte técnico si se requiere una solución de problemas.

Sesión de eventos extendidos

La siguiente sesión de eventos extendidos se puede usar para solucionar problemas de mirroring de Fabric en la instancia de SQL Server 2025. Solo se recomienda crear esta sesión con fines de solución de problemas o soporte técnico.

CREATE EVENT SESSION [sqlmirroringxesession] ON SERVER  
ADD EVENT sqlserver.synapse_link_addfilesnapshotendentry,  
ADD EVENT sqlserver.synapse_link_db_enable,  
ADD EVENT sqlserver.synapse_link_end_data_snapshot,  
ADD EVENT sqlserver.synapse_link_error,  
ADD EVENT sqlserver.synapse_link_info,  
ADD EVENT sqlserver.synapse_link_library,  
ADD EVENT sqlserver.synapse_link_perf,  
ADD EVENT sqlserver.synapse_link_scheduler,  
ADD EVENT sqlserver.synapse_link_start_data_snapshot,  
ADD EVENT sqlserver.synapse_link_totalsnapshotcount,  
ADD EVENT sqlserver.synapse_link_trace  
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=ON)  
GO
 
ALTER EVENT SESSION [sqlmirroringxesession] ON SERVER
STATE = start;
GO

El registro de transacciones está lleno debido a la espera para reutilizar el registro de replicación.

Si el registro de transacciones de la base de datos SQL Server de origen del reflejo de tejido está lleno debido a la espera de reutilización del REPLICATION registro, considere la posibilidad de habilitar la funcionalidad autoreseed.

Impacto en el rendimiento en la base de datos de origen reflejada en SQL Server

En SQL Server 2025, puede crear un grupo de reguladores de recursos para administrar y limitar la carga de trabajo de creación de reflejo de Fabric en SQL Server. Puede usar el regulador de recursos para administrar el consumo de recursos del motor de base de datos y aplicar directivas para cargas de trabajo de usuario. El regulador de recursos le permite reservar o limitar varios recursos de servidor, incluida la cantidad de CPU, memoria y E/S física que pueden usar las cargas de trabajo de consulta de usuario. De este modo, puede proteger las cargas de trabajo empresariales principales frente a la presión de la recopilación de datos del feed de cambios de Fabric Mirroring.

No se puede conceder el permiso necesario al servidor de origen

Al crear una nueva base de datos espejada de SQL Server, la creación podría fallar con el siguiente error:

Unable to grant required permission to the source server. PowerBI user with prefix undefined not found.

Captura de pantalla de PowerBI para el usuario con el error de prefijo indefinido no encontrado.

Para resolver este problema:

  1. En el portal de Fabric, cancele el cuadro de diálogo y elimine el elemento de base de datos reflejado en el área de trabajo.

  2. Abra el portal Azure.

    1. Vaya a Azure Arc (clásico) y a servidores SQL. A continuación, seleccione la instancia de SQL Server habilitada para Arc y seleccione la pestaña Microsoft Entra ID.
    2. Desactive el cuadro Usar una identidad administrada principal y seleccione Guardar.
  3. Ejecute la consulta siguiente en la instancia de SQL Server repetidamente hasta que no devuelva filas:

    SELECT * FROM sys.dm_server_managed_identities
    
  4. Vuelva a Azure Portal. Vaya a su instancia de SQL Server habilitada para Arc y seleccione la pestaña Microsoft Entra ID.

  5. Marque Usar identidad administrada principal y seleccione Guardar.

    Captura de pantalla de la opción Usar una identidad administrada principal en la instancia de SQL Server.

  6. Ejecute la consulta siguiente (igual que antes) hasta que devuelva exactamente una fila.

    SELECT * FROM sys.dm_server_managed_identities
    
  7. En el portal de Fabric, configure la duplicación de SQL Server para Fabric, que ahora debería completarse sin errores.