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.
En este artículo se describen los pasos para la creación de reflejo de servidor flexible de Azure Database for PostgreSQL.
Solución de problemas de mensajes de error o advertencia durante la selección de tablas para la creación de reflejo
Al crear una nueva base de datos reflejada, en la página de elegir datos, es posible que reciba algunos comentarios visuales sobre tablas específicas de la base de datos de origen. En la tabla siguiente se proporciona una lista de posibles problemas, incluido el mensaje mostrado y la descripción relacionada sobre cómo resolver el problema.
Código de estado | Tipo de estado | Mensaje | Descripción |
---|---|---|---|
SCHEMA_DOES_NOT_EXIST |
ERROR | El esquema {} no existe | El esquema dado no existe. Podría haberse quitado mientras Fabric extraía información de tabla pertinente. Vuelva a intentarlo. |
TABLE_DOES_NOT_EXIST |
ERROR | En el esquema {}, la tabla {} no existe. | La tabla dada no existe. Podría haberse quitado mientras Fabric extraía información de tabla pertinente. Vuelva a intentarlo. |
FORBIDDEN_CHARS_IN_COLUMN_NAME |
ERROR | La tabla {}.{} contiene caracteres prohibidos en el nombre de las columnas {} | La columna dada tiene caracteres no admitidos en el nombre. 1 |
UNSUPPORTED_DATA_TYPE |
ERROR | La tabla {}.{} tiene un tipo de datos no admitido en la columna {} | Una (o varias) de las columnas de la tabla tiene actualmente tipos de datos no admitidos. 3 |
FORBIDDEN_CHARS_IN_TABLE_NAME |
ERROR | La tabla {}.{} contiene caracteres prohibidos en el nombre | El nombre de tabla tiene caracteres no admitidos. 1 |
NOT_REGULAR_TABLE |
ERROR | La tabla {}.{} no es una tabla normal | No se admite el tipo de tabla para la creación de reflejo. 2 |
HAS_PRIMARY_KEY |
De acuerdo | La tabla {}.{} tiene una clave principal | La tabla es una tabla normal y tiene una clave principal válida que se usa para la creación de reflejo. |
HAS_UNIQUE_INDEX |
De acuerdo | La tabla {}.{} tiene un índice único adecuado | La tabla no tiene una clave principal, pero tiene un índice único que se usará para la creación de reflejo. |
NO_INDEX_FULL_IDENTITY |
Advertencia | La tabla {}.{} no tiene un índice único adecuado. Uso de la identidad completa | La tabla no tiene una clave principal o un índice único, por lo que se requiere REPLICA IDENTITY FULL para admitir la creación de reflejo, lo que puede causar problemas de rendimiento. |
1 No se admiten identificadores de objeto con un carácter de espacio (' ').
2 No se admite este tipo de tabla para la creación de reflejo. Actualmente, no se admiten vistas, vistas materializadas, tablas externas ni tablas con particiones.
3 Para obtener una lista de tipos de datos no admitidos, consulte Limitaciones. Solo se admiten los siguientes tipos de columnas:
bigint
bigserial
boolean
bytea
character
character varying
date
double precision
integer
numeric
real
serial
oid
money
smallint
smallserial
text
time without time zone
-
time with time zone
(* no como clave principal) timestamp without time zone
timestamp with time zone
uuid
En Postgres, dos valores de "hora con zona horaria" que corresponden exactamente al mismo momento, pero en zonas horarias diferentes, se consideran diferentes. Por ejemplo: 06:24:00.59+05
y 05:24:00.59+04
corresponden a la misma época, pero Postgres las trata de forma diferente.
Cambios en la capacidad o área de trabajo de Fabric
Causa | Resultado | Resolución recomendada |
---|---|---|
Capacidad de Fabric en pausa o eliminada | Se detiene la creación de reflejo | 1. Reanude o asigne capacidad desde Azure Portal 2. Vaya al elemento de base de datos reflejado de Fabric. En la barra de herramientas, seleccione Detener replicación. 3. Inicie la replicación seleccionando Base de datos reflejada para el elemento reflejado en el portal de Fabric. |
Capacidad de Fabric reanudada | La creación de reflejo no se reanudará | 1. Vaya al elemento de base de datos reflejado de Fabric. En la barra de herramientas, seleccione Detener replicación. 2. Inicie la replicación seleccionando Base de datos reflejada para el elemento reflejado en el portal de Fabric. |
Área de trabajo eliminada | La creación de reflejo se detiene automáticamente | Si la creación de reflejo sigue activa en el servidor flexible de Azure Database for PostgreSQL, conéctese mediante un administrador del servidor y ejecute los siguientes comandos en el servidor de PostgreSQL: select azure_cdc.list_tracked_publications(); , luego use el nombre de publicación devuelto y ejecute select azure_cdc.stop_publication(<publication_name>); |
Capacidad de prueba de Fabric expirada | La creación de reflejo se detiene automáticamente | Consulte Capacidad de prueba de Fabric expirada. |
Capacidad de tejido superada | La creación de reflejo se pausa | Espere hasta que el estado de sobrecarga supere o actualice la capacidad. Obtenga más información en Acciones que puede tomar para recuperarse de situaciones de sobrecarga. La creación de reflejo continúa una vez recuperada la capacidad. |
Cualquier otro error de recurso | La duplicación está deshabilitada | Para asegurarse de que los recursos de proceso no se ven afectados y para minimizar el impacto del servidor flexible de Azure Database for PostgreSQL, la creación de reflejo se deshabilita en los 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 SQL para la solución de problemas
Si tiene problemas con la creación de reflejo, realice las siguientes comprobaciones de nivel de servidor mediante las funciones y vistas del sistema para validar la configuración.
Ejecute la consulta siguiente para comprobar si los cambios fluyen correctamente:
select * from azure_cdc.tracked_publications;
Compruebe si la publicación está activa y se ha generado la instantánea. También puede comprobar si se han generado lotes de cambios posteriores consultando:
select * from azure_cdc.tracked_batches;
Si la vista
azure_cdc.tracked_publications
no muestra ningún progreso en el procesamiento de cambios incrementales, ejecute la siguiente consulta SQL para comprobar si hay algún problema notificado:SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';
Si no se notifica ningún problema, ejecute el siguiente comando para revisar la configuración actual de la base de datos reflejada de PostgreSQL. Confirme que se ha habilitado correctamente.
SELECT * FROM pg_replication_slots;
Las columnas de clave que se van a buscar aquí son
slot_name
yactive
. Cualquier valor además det
(true) indica un posible problema.Póngase en contacto con soporte técnico si se requiere una solución de problemas.
Identidad administrada
La identidad administrada asignada por el sistema (SAMI) del servidor flexible de Azure Database for PostgreSQL debe estar habilitada y debe ser la identidad principal. Para obtener más información, consulte Identidad administrada asignada por el sistema en el servidor flexible de PostgreSQL.
Después de la habilitación, si el estado de la configuración de SAMI se deshabilita y se vuelve a habilitar más tarde, se produce un error en la creación de reflejo del servidor flexible de Azure Database for PostgreSQL en Fabric OneLake.
Compruebe que SAMI está habilitado con la siguiente consulta: show azure.service_principal_id;
Permisos de SAMI
No quite los permisos de colaborador de la identidad administrada asignada por el sistema (SAMI) del servidor flexible de Azure Database for PostgreSQL en el elemento de base de datos reflejada de Fabric.
Si quita accidentalmente los permisos SAMI, la creación de reflejo del servidor flexible de Azure Database for PostgreSQL no funciona según lo previsto. No se pueden reflejar datos nuevos desde la base de datos de origen.
Si quita los permisos de SAMI del servidor flexible de Azure Database for PostgreSQL o los permisos no están configurados correctamente, siga estos pasos.
- Para agregar el SAMI de servidor flexible como usuario, seleccione la opción de puntos suspensivos
...
en el elemento de la base de datos reflejada. - Seleccione la opción Administrar permisos.
- Escriba el nombre del servidor flexible de Azure Database for PostgreSQL. Proporcione permisos de lectura y escritura.