CDC在sql server 2017中无法使用的问题
Symptom
===
sp_MScdc_capture_job in the CDC job raised error message
Msg 217, Level 16, State 1, Procedure msdb.dbo.sp_cdc_sqlagent_log_jobhistory, Line 19 [Batch Start Line 12] Maximum stored procedure, function, trigger, or view nesting level exceeded (limit 32).
产品组已经确认这是一个bug,会在后续的cu中解决。
workaround
===
1) Stop and disable CDC capture job. Make sure the job is not invoked till the fix is out.(If it runs again, CDC will break)
2) Use below query to identify the job_id for the capture job. Note – We need to execute below query for every DB that has CDC enabled –
select c.job_id, s.run_date, s.run_time from msdb.dbo.cdc_jobs c join msdb.dbo.sysjobhistory s on c.job_id = s.job_id where c.database_id = db_id() and c.job_type = N'capture' and s.step_id = 1
3) Use query similar to below to delete the record from msdb.dbo.sysjobhistory for capture job’s step id 1
delete from msdb.dbo.sysjobhistory where job_id = 'job_id that we got from #2' and step_id = 1
Note – Please be careful/cautious while doing this step. If required then please wrap this under a transaction to avoid affecting other rows.
4) After this you can either run sys.sp_MScdc_capture_job manually for every CDC enabled DB or create another job that executes sys.sp_MScdc_capture_job for every CDC enabled DB
=====2018.3.27====
该问题已经已经在sql 2007 cu5中解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2006-12-28 对话框中的数据绑定(WPF)