(si alguien encuentra un camino, que no creo que exista, eliminaré mi respuesta :-))
¿Hay alguna manera de determinar si una copia de seguridad contiene datos de CDC?
No creo que haya una forma de saber de una copia de seguridad, si CDC está habilitado o no.
Lo máximo que puede saber si la base de datos estuvo involucrada en la replicación (bajo el capó usa un agente lector de registro que escanea el registro de Transacción) o no utilizando DatabaseBackupLSN en el resultado de RESTORE HEADERONLY
DatabaseBackupLSN como es el "comienzo del punto de control" que se activa cuando la copia de seguridad empieza. Este LSN coincidirá con FirstLSN
si la copia de seguridad se toma cuando la base de datos está inactiva y no se configura la replicación.
Supongo que la razón por la que Microsoft no aparece si CDC está habilitado o no, también podría ser una cuestión de seguridad. CDC es una tecnología de nivel empresarial que permite el seguimiento de los cambios hasta el nivel de la columna. Esto es requerido por regulaciones como HIPAA, FISMA, etc.
De restaurar o adjuntar una base de datos habilitada para cambiar la captura de datos
SQL Server utiliza la siguiente lógica para determinar si la captura de datos de cambio permanece habilitada después de restaurar o adjuntar una base de datos:
- Si se restaura una base de datos en el mismo servidor con el mismo nombre de base de datos, la captura de cambio de datos permanece habilitada.
- Si una base de datos se restaura a otro servidor, de forma predeterminada, la captura de datos de cambio se deshabilita y se eliminan todos los metadatos relacionados.
- Para retener la captura de datos modificados, use la opción KEEP_CDC al restaurar la base de datos. Para obtener más información sobre esta opción, consulte RESTAURAR.
- Si una base de datos se separa y se conecta al mismo servidor u otro servidor, la captura de datos de cambio permanece habilitada.
- Si se adjunta o se restaura una base de datos con la opción KEEP_CDC a cualquier edición que no sea Enterprise, la operación se bloquea porque la captura de cambio de datos requiere SQL Server Enterprise. Se muestra el mensaje de error 932:
SQL Server no puede cargar la base de datos '%. * Ls' porque la captura de cambio de datos está habilitada. La edición actualmente instalada de SQL Server no admite la captura de datos modificados. Deshabilite la captura de datos modificados en la base de datos utilizando una edición compatible de SQL Server o actualice la instancia a una que admita la captura de datos modificados.