Compatibilidad de captura de datos de cambios (CDC) con RDS Custom para SQL Server - Amazon Relational Database Service

Compatibilidad de captura de datos de cambios (CDC) con RDS Custom para SQL Server

Descripción general

RDS Custom para SQL Server ofrece compatibilidad nativa para la captura de datos de cambios (CDC), lo que le permite rastrear y capturar las modificaciones de los datos en las tablas de SQL Server. CDC almacena metadatos detallados sobre estos cambios para su posterior recuperación y análisis. Para obtener más información sobre la funcionalidad de CDC, consulte Captura de datos de cambios en la documentación de Microsoft.

El funcionamiento de CDC en SQL Server requiere que coincidan los valores entre el servidor local (que tiene server_id = 0) en sys.servers y los identificadores de SERVERPROPERTY('ServerName'). RDS Custom para SQL Server mantiene automáticamente esta sincronización durante todo el ciclo de vida de la instancia para garantizar el funcionamiento continuo de CDC, incluso si los hosts se sustituyen durante las operaciones de mantenimiento o recuperación.

importante

Tras una conmutación por error de una instancia multi-AZ, la función SERVERPROPERTY('Servername') refleja automáticamente los cambios en el nombre de la red o el equipo. Sin embargo, la función @@SERVERNAME retiene el nombre del servidor anterior hasta que se reinicie el servicio de MSSQLSERVER. La consulta de @@SERVERNAME devuelve el nombre del servidor anterior tras una conmutación por error. Para obtener el nombre de servidor preciso después de una conmutación por error, utilice la siguiente consulta SQL:

SELECT name FROM sys.servers WHERE server_id=0

Esta consulta proporciona la información de nombre de servidor más actualizada sin necesidad de reiniciar un servicio.

Disponibilidad en regiones y versiones

La funcionalidad CDC se admite en todas las Regiones de AWS en las que está disponible RDS Custom para SQL Server, para todas las versiones de SQL Server compatibles con RDS Custom. Para obtener más información sobre la disponibilidad de versiones y regiones compatibles de RDS Custom para SQL Server, consulte Regiones y motores de base de datos admitidos para RDS Custom para SQL Server.

Requisitos y limitaciones

Cuando implemente CDC en RDS Custom para SQL Server, tenga en cuenta las siguientes consideraciones clave:

  • Si configura manualmente @@SERVERNAME o el servidor local en sys.servers para utilizar características como replicación de MS, si el valor del servidor local (que tiene server_id = 0) en sys.servers está establecido en un formato que coincide con *.rds.amazonaws.com o *.awsrds.*.com, RDS Custom para SQL Server no intenta modificarlo para que coincida con SERVERPROPERTY('ServerName').

  • RDS no puede modificar el servidor local (que tiene server_id = 0) en sys.servers a un nuevo nombre de host mientras los inicios de sesión remotos o los servidores vinculados utilicen activamente el nombre de host anterior. Esta limitación se aplica en dos escenarios:

    • Cuando un servidor vinculado establece una conexión con el servidor local mediante un inicio de sesión remoto asociado al nombre de host anterior.

    • Cuando una instancia de RDS Custom para SQL Server actúa como publicadora o distribuidora y tiene inicios de sesión vinculados asociados al nombre de host anterior en sus instancias de suscriptor.

Solución de problemas

Para identificar los inicios de sesión remotos o los inicios de sesión vinculados asociados al nombre del servidor anterior, utilice las siguientes consultas. Valide los resultados y elimine estos inicios de sesión para garantizar el correcto funcionamiento de CDC.

SELECT * FROM sys.remote_logins WHERE server_id=0

o

select sss.srvname,ssp.name,srl.remote_name from sys.server_principals ssp inner join sys.remote_logins srl on srl.local_principal_id=ssp.principal_id inner join sys.sysservers sss on srl.server_id = sss.srvid where sss.srvname = @@SERVERNAME