I dropped a table before disabling CDC for that. Now when I recreated the table and tried enabling CDC it says that capture instance already exists. I can use a different Capture Instance name but need to know if there is anyway to drop the associated capture instance manually.
When I delete a table through SSMS GUI it drops CDC tables too. But this time I dropped the table using code and it didn't disable or remove CDC. Hence the trouble. Ms documentation talks about a hot fix if Change Table are removed by mistake. But I have removed the base table. Any clues on how to remove this capture instance for the dropped table?
4条答案
按热度按时间8oomwypt1#
Here are the steps I took to remove an orphaned capture instance in CDC:
Then run the following:
At that point you should be able to re-create your capture instance via sp_cdc_enable_table as normal.
lb3vh1jj2#
Well I figured out a way. I removed all the records related to that table from all CDC system tables and tried recreating the capture instance with same name. It worked!
khbbv19g3#
I had to execute one more step in addition to the REPLY by pdanke:
My cdc orphan may have come about when I restored a database where change data capture had been enabled. In my case,
resulted in one entry where
source_schema
andsource_table
were bothNULL
.zu0ti5jz4#
It's Simple
Just use the following Script
EXEC sys.sp_cdc_disable_table 'schema_name','Source_Table_Name','CDC_Table_Name'