(si quelqu'un trouve un moyen - dont je ne pense pas qu'il existe, je supprimerai ma réponse :-))
Existe-t-il un moyen de déterminer si une sauvegarde contient des données CDC?
Je ne pense pas qu'il existe un moyen de savoir à partir d'une sauvegarde, si CDC est activé ou non.
Tout ce que vous pouvez savoir si la base de données a été impliquée dans la réplication (sous le capot utilise un agent de lecture de journal qui analyse le journal des transactions) ou non en utilisant DatabaseBackupLSN dans le résultat de RESTORE HEADERONLY
DatabaseBackupLSN comme c'est le «début du point de contrôle» qui est déclenché lorsque la sauvegarde départs. Ce LSN coïncidera FirstLSN
si la sauvegarde est effectuée lorsque la base de données est inactive et qu'aucune réplication n'est configurée.
Je suppose que la raison pour laquelle Microsoft ne fait pas surface, que CDC soit activé ou non, pourrait également être une question de sécurité. CDC est une technologie de niveau entreprise qui permet de suivre les modifications jusqu'au niveau de la colonne. Ceci est requis par des réglementations comme HIPAA, FISMA, etc.
De la restauration ou de l'attachement d'une base de données activée pour la capture de données modifiées
SQL Server utilise la logique suivante pour déterminer si la capture des données modifiées reste activée après la restauration ou la connexion d'une base de données:
- Si une base de données est restaurée sur le même serveur avec le même nom de base de données, la capture des données modifiées reste activée.
- Si une base de données est restaurée sur un autre serveur, par défaut, la capture des données modifiées est désactivée et toutes les métadonnées associées sont supprimées.
- Pour conserver la capture des données modifiées, utilisez l'option KEEP_CDC lors de la restauration de la base de données. Pour plus d'informations sur cette option, voir RESTORE.
- Si une base de données est détachée et attachée au même serveur ou à un autre serveur, la capture des données modifiées reste activée.
- Si une base de données est attachée ou restaurée avec l'option KEEP_CDC à une édition autre qu'Enterprise, l'opération est bloquée car la capture des données modifiées nécessite SQL Server Enterprise. Le message d'erreur 932 s'affiche:
SQL Server ne peut pas charger la base de données '%. * Ls' car la capture des données modifiées est activée. L'édition actuellement installée de SQL Server ne prend pas en charge la capture de données modifiées. Désactivez la capture des données modifiées dans la base de données à l'aide d'une édition prise en charge de SQL Server ou mettez à niveau l'instance vers une version prenant en charge la capture des données modifiées.