REVISIÓN: No se puede deshabilitar la característica de CDC si colocar la tabla de sistema cdc.change_tables CDC en SQL Server 2008

Microsoft distribuye correcciones de Microsoft SQL Server 2008 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008.

Síntomas

Imagine el siguiente escenario:
  • En Microsoft SQL Server 2008, se habilita la característica de captura (CDC) de datos de cambio para una base de datos.
  • Quitar la tabla de sistema cdc.change_tables CDC.
  • Ejecute el procedimiento sp_cdc_disable_db almacenado para deshabilitar CDC.
En este escenario, puede recibir el siguiente mensaje de error:
Mensaje 208, nivel 16, estado 1, procedimiento sp_cdc_disable_db_internal, nombre de objeto no válido de línea 82 'cdc.change_tables'.

Msg 266, nivel 16, estado 2, procedimiento sp_cdc_disable_db_internal, número de línea 82 transacciones después de EXECUTE indica un número no coincidente de instrucciones BEGIN y COMMIT. Recuento anterior = 0, recuento actual = 1.

Msg 266, nivel 16, estado 2, procedimiento sp_cdc_disable_db, número de línea 0 transacciones después de EXECUTE indica un número no coincidente de instrucciones BEGIN y COMMIT. Recuento anterior = 0, recuento actual = 1.
Si intenta volver a habilitar CDC para la base de datos mediante el procedimiento almacenado de sys.sp_cdc_enable_db, puede recibir el siguiente mensaje:
Base de datos ' < >' ya está habilitado para la captura de datos modificados. Asegúrese de que el contexto de base de datos correcta es conjunto y reintentar la operación. Para informar sobre las bases de datos habilitadas para la captura de datos modificados, consulta la columna is_cdc_enabled en la vista de catálogo sys.databases.

Solución

Información de la actualización acumulativa para la versión comercial de SQL Server 2008

La corrección para este problema se publicó primero en la actualización acumulativa 4 para la versión comercial de SQL Server 2008. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 4 de actualización de 963036 acumulativa para SQL Server 2008
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
956909 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008

Información sobre la actualización acumulativa para SQL Server 2008 Service Pack 1

La corrección para este problema se publicó primero en la actualización acumulativa 1 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 1 de actualización de 969099 acumulativa para SQL Server 2008 Service Pack 1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
970365 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para evitar este problema, no quitar tablas del sistema CDC manualmente.


Puede mostrar muchas tablas del sistema CDC revisando los objetos en el esquema de CDC. Para ello, ejecute la siguiente consulta:
select * from sys.objects where schema_id=schema_id('cdc')
Si la configuración está en un estado dañado y no se puede deshabilitar CDC, puede intentar volver a crear manualmente las tablas de CDC que faltan y los índices necesarios para dichas tablas. Puede incluir esos objetos desde una base de datos ficticio en el que haya habilitado correctamente el CDC. A continuación, ejecute el procedimiento sp_cdc_disable_db almacenado después de corregir la falta de objetos.

Más información sobre el paquete de actualización acumulativa 4 para SQL Server 2008

Para obtener más información acerca de qué archivos se cambian y para obtener información acerca de los requisitos previos para aplicar el paquete de actualización acumulativa que contiene la revisión que se describe en este artículo de Microsoft Knowledge Base, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 4 de actualización de 963036 acumulativa para SQL Server 2008

Más información sobre el paquete de actualización acumulativa 1 de SQL Server 2008 Service Pack 1

Para obtener más información acerca de qué archivos se cambian y para obtener información acerca de los requisitos previos para aplicar el paquete de actualización acumulativa que contiene la revisión que se describe en este artículo de Microsoft Knowledge Base, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 1 de actualización de 969099 acumulativa para SQL Server 2008 Service Pack 1

Referencias

Para obtener más información acerca de la lista de compilaciones disponibles después del lanzamiento de SQL Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

956909 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008

Para obtener más información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 un modelo de servicio Incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados

Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

Paquetes de actualización de 822499 nuevo esquema de nomenclatura para software de Microsoft SQL Server

Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft
Propiedades

Id. de artículo: 966306 - Última revisión: 13 ene. 2017 - Revisión: 1

Comentarios