Limitaciones y problemas conocidos con Azure Synapse Link para SQL
En este artículo se enumeran las limitaciones y los problemas conocidos con Azure Synapse Link para SQL.
Limitaciones
En las siguientes secciones se enumeran las limitaciones de Azure Synapse Link para SQL.
Azure SQL Database y SQL Server 2022
- Las tablas de origen deben tener claves principales.
- Solo se admite una réplica principal grabable como el origen de datos de Azure Synapse Link para SQL.
- Los siguientes tipos de datos no se admiten para las claves principales de las tablas de origen.
- real
- float
- hierarchyid
- sql_variant
- timestamp
- El tamaño de las filas de la tabla de origen no puede superar los 7500 bytes. En las tablas en las que las columnas de longitud variable se almacenan fuera de fila, se almacena un puntero de 24 bytes en el registro principal.
- Cuando se está creando una instantánea inicial de las tablas de origen, no se admiten datos de tabla de origen que contengan datos de objetos grandes (LOB) mayores de 1 MB de tamaño. Estos tipos de datos loB incluyen: varchar(max), nvarchar(max), varbinary(max). Se produce un error y los datos no se exportan a Azure Synapse Analytics. Use el procedimiento almacenado sp_configure para aumentar el valor máximo configurado para la opción
max text repl size
, cuyo valor predeterminado es 64 K. Un valor configurado de-1
indica que no hay límite, aparte del límite impuesto por el tipo de datos. - Las tablas habilitadas para Azure Synapse Link para SQL pueden tener un máximo de 1020 columnas (no 1024).
- Aunque una base de datos puede tener varios vínculos habilitados, una tabla determinada no puede pertenecer a varios vínculos.
- Cuando el propietario de una base de datos no tiene un inicio de sesión asignado, Azure Synapse Link para SQL produce un error al habilitar una conexión de vínculo. El usuario puede establecer el propietario de la base de datos en un usuario válido con el comando
ALTER AUTHORIZATION
para corregir este problema. - Si la tabla de origen contiene columnas calculadas o columnas con tipos de datos que los grupos de SQL dedicados no admiten, las columnas no se replican. Las columnas no admitidas incluyen lo siguiente.
- image
- text
- xml
- timestamp
- sql_variant
- UDT
- geometry
- geography
- Se puede agregar un máximo de 5000 tablas a una única conexión de vínculo.
- No se permiten las operaciones de lenguaje de definición de datos (DDL) de la tabla siguiente en las tablas de origen cuando están habilitadas en Azure Synapse Link para SQL. Se permiten todas las demás operaciones DDL, pero no se replican en Azure Synapse Analytics.
- Cambiar de partición
- Agregar, quitar o modificar columna
- Modificar la clave principal
- Anular o truncar la tabla
- Cambiar el nombre de la tabla
- Si el lenguaje de definición de datos (DDL) + el lenguaje de manipulación de datos (DML) se ejecuta en una transacción explícita (entre instrucciones
BEGIN TRANSACTION
yEND TRANSACTION
), se produce un error en la replicación de las tablas correspondientes dentro de la conexión de vínculo.Nota:
Si una tabla es fundamental para la coherencia transaccional en el nivel de conexión del vínculo, revise el estado de la tabla de Azure Synapse Link en la pestaña Supervisión.
- Azure Synapse Link para SQL no se puede habilitar si alguna de las siguientes características está en uso en la tabla de origen.
- Captura de datos modificados
- Tabla de historial temporal
- Always Encrypted
- Tablas en memoria
- Índice de almacén de columnas
- Grafo
- Las tablas del sistema no se pueden replicar.
- La configuración de seguridad de la base de datos de origen NO se reflejará en el grupo de SQL dedicado de destino.
- Al habilitar Azure Synapse Link para SQL, se crea un nuevo esquema denominado
changefeed
. No use este esquema, ya que está reservado para el uso del sistema. - Las tablas de origen con intercalaciones que no son compatibles con grupos de SQL dedicados, como UTF-8 y determinadas intercalaciones japonesas, no se pueden replicar. Consulte Intercalaciones admitidas en grupos de SYNapse SQL.
- Además, Azure Synapse Link para SQL no admite algunas intercalaciones de idioma tailandés:
Thai100CaseInsensitiveAccentInsensitiveKanaSensitive
Thai100CaseInsensitiveAccentSensitiveSupplementaryCharacters
Thai100CaseSensitiveAccentInsensitiveKanaSensitive
Thai100CaseSensitiveAccentInsensitiveKanaSensitiveWidthSensitiveSupplementaryCharacters
Thai100CaseSensitiveAccentSensitiveKanaSensitive
Thai100CaseSensitiveAccentSensitiveSupplementaryCharacters
ThaiCaseSensitiveAccentInsensitiveWidthSensitive
- Además, Azure Synapse Link para SQL no admite algunas intercalaciones de idioma tailandés:
- No se admiten las actualizaciones de fila única (incluido el almacenamiento fuera de página) de > 370 MB.
- Cuando Azure Synapse Link para SQL en Azure SQL Database o SQL Server 2022 está habilitado, la agresiva característica de truncamiento de registro de Recuperación acelerada de bases de datos (ADR) se deshabilita automáticamente. Esto es necesario porque Azure Synapse Link para SQL accede al registro de transacciones de la base de datos. Este comportamiento es similar a la captura de datos modificados (CDC). Las transacciones activas siguen manteniendo el truncamiento del registro de transacciones hasta que la transacción se confirme y Azure Synapse Link para SQL se ponga al día o se anulen las transacciones. Esto puede dar lugar a que el registro de transacciones se rellene más de lo habitual y se debe supervisar para que el registro de transacciones no se rellene.
solo Azure SQL Database
- Azure Synapse Link para SQL no se admite en el nivel Gratis, Básico o Estándar si tiene menos de 100 DTU.
- Azure Synapse Link para SQL no se admite en instancias administradas de SQL.
- La entidad de servicio no se admite para autenticarse en la base de datos de origen de Azure SQL, por lo que al crear el servicio vinculado de base de datos de Azure SQL, debe elegir la autenticación de SQL, la identidad administrada asignada por el usuario (UAMI) o la identidad administrada asignada por el servicio (SAMI).
- Si el servidor lógico de Azure SQL Database tiene configurado un SAMI y un UAMI, Azure Synapse Link usa SAMI.
- Azure Synapse Link no se puede habilitar en la base de datos secundaria después de una conmutación por error de GeoDR y si la base de datos secundaria tiene un nombre diferente de la base de datos principal.
- Si habilita Azure Synapse Link para SQL en la base de datos como usuario de Microsoft Entra, se produce un error en la recuperación a un momento dado (PITR). PITR solo funciona cuando habilita Azure Synapse Link para SQL en su base de datos como usuario de SQL.
- Si crea una base de datos como usuario de Microsoft Entra y habilita Azure Synapse Link para SQL, un usuario de autenticación de SQL (por ejemplo, el rol sysadmin) no podrá deshabilitar o realizar cambios en los artefactos de Azure Synapse Link para SQL. Aun así, otro usuario de Microsoft Entra puede habilitar o deshabilitar Azure Synapse Link para SQL en la misma base de datos. Del mismo modo, si crea una base de datos como un usuario de autenticación de SQL, no puede habilitar o deshabilitar Azure Synapse Link para SQL como usuario de Microsoft Entra.
- No se admite la replicación de datos entre inquilinos donde una base de datos de Azure SQL Database y el área de trabajo de Azure Synapse se encuentran en inquilinos independientes.
Solo SQL Server 2022
- Azure Synapse Link para SQL no se puede habilitar en bases de datos que sean publicadores o distribuidores de replicaciones transaccionales.
- Con las réplicas asincrónicas de un grupo de disponibilidad, las transacciones deben escribirse en todas las réplicas antes de publicar en Azure Synapse Link para SQL.
- Azure Synapse Link para SQL no se admite en las bases de datos que tengan la creación de reflejo de la base de datos habilitada.
- No se admite la restauración de una base de datos de Azure Synapse Link para SQL desde un entorno local a una instancia de Azure SQL Managed Instance.
Precaución
Azure Synapse Link para SQL no se admite en las bases de datos que también usan Azure SQL Managed Instance Link. Tenga en cuenta que, en estos escenarios, cuando la instancia administrada realiza la transición al modo de lectura y escritura, es posible que encuentre problemas completos del registro de transacciones.
Problemas conocidos
No eliminar un área de trabajo de Azure Synapse Analytics con un vínculo en ejecución podría hacer que el registro de transacciones en la base de datos de origen se rellene
Se aplica a: Azure Synapse Link para Azure SQL Database y SQL Server 2022
Problema: al eliminar un área de trabajo de Azure Synapse Analytics, es posible que no se detengan los vínculos en ejecución, lo que hace que la base de datos de origen piense que el vínculo sigue funcionando y podría provocar que el registro de transacciones no se trunque y se llene.
Solución: hay dos soluciones posibles a esta situación:
- Detenga los vínculos en ejecución antes de eliminar el área de trabajo de Azure Synapse Analytics.
- Limpie manualmente la definición de vínculo en la base de datos de origen.
- Busque el valor
table_group_id
que debe detenerse mediante la consulta siguiente.SELECT table_group_id, workspace_id, synapse_workgroup_name FROM [changefeed].[change_feed_table_groups] WHERE synapse_workgroup_name = <synapse workspace name>;
- Anule cada vínculo identificado mediante el procedimiento siguiente.
EXEC sys.sp_change_feed_drop_table_group @table_group_id = <table_group_id>;
- Opcionalmente, si deshabilita todos los grupos de tablas de una base de datos determinada, también puede deshabilitar la fuente de cambios en la base de datos con el siguiente comando.
EXEC sys.sp_change_feed_disable_db;
- Busque el valor
Volver a habilitar la fuente de cambios en una tabla para la que se ha deshabilitado recientemente mostrará un error
- Se aplica a: Azure Synapse Link para Azure SQL Database y SQL Server 2022
- Se trata de un comportamiento poco común.
- Problema: al intentar habilitar una tabla que se ha deshabilitado recientemente, cuyos metadatos aún no se han limpiado y que tiene el estado marcado como DESHABILITADO, se produce un error que indica
A table can only be enabled once among all table groups
. - Resolución: espere cierto tiempo para que se complete el procedimiento del sistema de tabla deshabilitada e intente habilitar de nuevo la tabla.
Intento de habilitar Azure Synapse Link en la base de datos importada mediante SSDT, SQLPackage para las operaciones Import/Export y Extract/Deploy
- Se aplica a: Azure Synapse Link para Azure SQL Database y SQL Server 2022
- Problema: en el caso de las bases de datos SQL compatibles con Azure Synapse Link, cuando se usan operaciones Import/Export y Extract/Deploy de SSDT para importar o configurar una nueva base de datos, el esquema y el usuario de
changefeed
no se excluyen en la nueva base de datos. Sin embargo, DacFX omite las tablas del suministro de cambios porque se marcan comois_ms_shipped=1
ensys.objects
, y estos objetos nunca se incluyen en las operaciones Import/Export y Extract/Deploy de SSDT. Al habilitar Azure Synapse Link en la base de datos importada o implementada, se produce un error en el procedimiento almacenado del sistemasys.sp_change_feed_enable_db
si el usuario y el esquemachangefeed
ya existen. Este problema también aparece si se ha creado un usuario o esquema denominadochangefeed
que no está relacionado con la funcionalidad de fuente de cambios de Azure Synapse Link. - Resolución:
- Quite manualmente el esquema vacío
changefeed
y el usuariochangefeed
. A continuación, Azure Synapse Link se puede habilitar correctamente en la base de datos importada o implementada. - Si ha definido un esquema personalizado o un usuario denominado
changefeed
en la base de datos que no están relacionados con Azure Synapse Link y no tiene intención de usar Azure Synapse Link para SQL, no es necesario quitar el esquema o el usuariochangefeed
. - Si ha definido un esquema de cliente o un usuario denominado
changefeed
en la base de datos, actualmente esta base de datos no puede participar en Azure Synapse Link para SQL.
- Quite manualmente el esquema vacío