Question

Je lâchai une table avant de désactiver CDC pour cela. Maintenant, quand je recréé la table et essayé permettant CDC il est dit que l'instance de capture existe déjà. Je peux utiliser un autre nom d'instance de capture, mais besoin de savoir s'il y a de toute façon de laisser tomber l'instance de capture associée manuellement.

Lorsque je supprime une table grâce à l'interface graphique SSMS, il laisse tomber les tables CDC aussi. Mais cette fois, j'ai laissé tomber la table en utilisant le code et il n'a pas désactiver ou supprimer CDC. D'où la peine. parle de documentation Ms sur un correctif si le changement de table sont supprimés par erreur. Mais je l'ai retiré de la table de base. Des indices sur la façon de supprimer cette instance de capture pour la table? Chuté

Était-ce utile?

La solution 2

Eh bien, je pensais trouver un moyen. J'ai enlevé tous les documents relatifs à cette table de toutes les tables du système CDC et essayé de recréer l'instance de capture avec le même nom. Il a travaillé!

Autres conseils

Voici les étapes de mon travail pour supprimer une instance de capture dans CDC devenus orphelins:

DROP FUNCTION [cdc].[fn_cdc_get_net_changes_dbo_(tablename)]
DROP FUNCTION [cdc].[fn_cdc_get_all_changes_dbo_(tablename)]

Ensuite, exécutez la commande suivante:

declare @objid int
set @objid = (select object_id from cdc.change_tables where capture_instance = 'your orphaned capture instance')

delete from cdc.index_columns where object_id = @objid
delete from cdc.captured_columns where object_id = @objid
delete from cdc.change_tables where object_id = @objid

A ce moment-là, vous devriez être en mesure de recréer votre instance de capture via sp_cdc_enable_table normalement.

Je devais exécuter un pas de plus en plus de la réponse pdanke:

DROP TABLE cdc.<capture_insance>_CT

Mon orphelin cdc peut-être venu quand je restauré une base de données où avait été activée la saisie des données de changement. Dans mon cas,

EXECUTE sys.sp_cdc_help_change_data_capture 

a donné lieu à une entrée où source_schema et source_table étaient tous deux NULL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top