手动删除更改数据捕获

时间:2009-08-31 17:01:46

标签: sql sql-server sql-server-2008 change-data-capture

我的某个生产数据库存在严重问题。

数据库已启用更改数据捕获功能,该功能表现非常出色。上个月我们遇到了服务器崩溃,其中有几个磁盘受到影响,数据丢失。然后,我们从磁带恢复数据库备份,并在新安装的数据库服务器上恢复它们​​。

我现在面临的问题如下:

  • sys.database表示我的数据库未启用cdc
  • 数据库包含cdc架构,用户,表格,sp&功能
  • sys.sp_cdc_enable_db抛出一个错误,说明架构&用户'cdc'已经存在,因此无法创建它们并为cdc启用数据库
  • sys.sp_cdc_disable_db不会删除cdc剩余部分,因为它认为数据库未启用cdc
  • cdc剩余部分不能手动删除,因为它们都是系统存储过程&功能

所以现在我被一个无法启用cdc的数据库所困,因为它已经创建了所有的cdc组件,并且cdc无法被禁用,因为它在sys.database中没有发出信号,cdc是启用。

我的问题是否有任何解决方案,execpt创建新数据库并迁移所有对象(cdc除外)&数据到newley创建的数据库?

1 个答案:

答案 0 :(得分:0)

对于仍在寻找这个老问题的答案的任何人 - 尝试此页面上描述的步骤手动删除 CDC 对象:

https://www.mssqltips.com/sqlservertip/3003/manual-cleanup-change-data-capture-for-a-sql-server-database/