繁体   English   中英

手动删除更改数据捕获

[英]Remove Change data capture manually

我的生产数据库之一出现严重问题。

该数据库已启用变更数据捕获,性能非常好。 上个月,我们发生了服务器崩溃,多个磁盘受到影响,数据丢失。 然后,我们从磁带中恢复了数据库备份,并将它们恢复到新安装的数据库服务器上。

我现在面临的问题如下:

  • 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 创建的数据库?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM