首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL Server中对表启用CDC时缺少CDC捕获作业

在SQL Server中对表启用CDC时缺少CDC捕获作业
EN

Stack Overflow用户
提问于 2016-12-02 07:52:59
回答 1查看 5.6K关注 0票数 1

我的数据库启用了CDC,它在几个表上都工作得很好。有一天(不知道为什么)它停止了工作:没有记录新的变化。

然后我继续禁用CDC,如下所示:

代码语言:javascript
复制
exec sys.sp_cdc_disable_db

然后我重新启用了它,如下所示:

代码语言:javascript
复制
exec sys.sp_cdc_enable_db

GO

EXEC sys.sp_cdc_enable_table  
    @source_schema = N'dbo'  
  , @source_name = N'resource'  
  , @role_name = NULL  
  , @capture_instance = N'dbo_resource'   
  , @supports_net_changes = 1     
  , @captured_column_list = N'Id,Name,Status'    
GO 

这些命令运行得很好,但并不能解决我的问题。

我已经检查并看到CDC所需的所有表都已创建,但浏览代理作业时,我只看到已创建清理作业,缺少捕获作业。

我怎么才能修复它?

EN

回答 1

Stack Overflow用户

发布于 2016-12-02 23:29:01

我不知道捕获作业发生了什么(SQL代理作业通常不会丢失),但以下是如何找回它的方法。

代码语言:javascript
复制
EXEC sys.sp_cdc_add_job @job_type = N'capture';
GO

需要注意的一点是,CDC捕获代理和复制日志读取器代理是一回事。从字面上看。因此,如果最近有人向您的数据库添加了复制,则您的捕获作业可能已被复制日志读取器作业替换。您可以通过sys.dm_cdc_log_scan_sessions视图查看发生了哪些cdc日志扫描会话。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40922497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档