Domanda

Ho lasciato cadere un tavolo prima di disattivare CDC per questo. Ora, quando ho ricreato il tavolo e provato consentendo CDC si dice che istanza di acquisizione già esiste. Posso utilizzare un diverso nome Capture istanza ma hanno bisogno di sapere se v'è comunque di abbandonare l'istanza di acquisizione associata manualmente.

Quando si elimina una tabella tramite SSMS GUI scende tavoli CDC troppo. Ma questa volta ho lasciato cadere la tabella utilizzando il codice e non ha disattivare o rimuovere CDC. Quindi il problema. Ms documentazione parla di un hot fix se tabella di cambiamento vengono rimossi per errore. Ma ho rimosso la tabella di base. Degli indizi su come rimuovere questa istanza di acquisizione per la tabella caduto?

È stato utile?

Soluzione 2

Beh ho trovato un modo. Ho rimosso tutti i record relativi a quel tavolo da tutte le tabelle di sistema CDC e ho cercato di ricreare l'istanza di acquisizione con lo stesso nome. Ha funzionato!

Altri suggerimenti

Questi sono i passi che ho preso per rimuovere un'istanza di acquisizione orfano in CDC:

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

Quindi eseguire il seguente:

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 questo punto si dovrebbe essere in grado di ri-creare l'istanza di acquisizione tramite sp_cdc_enable_table come normale.

Ho dovuto eseguire un passo in più in aggiunta alla risposta di pdanke:

DROP TABLE cdc.<capture_insance>_CT

Il mio orfano CDC potrebbe essere avvenuto quando ho ripristinato un database in cui Change Data Capture era stato abilitato. Nel mio caso,

EXECUTE sys.sp_cdc_help_change_data_capture 

ha provocato una voce in cui source_schema e source_table erano entrambi NULL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top