我在SQL Server 2012企业版(11.0.2100.60)上启用更改数据捕获(CDC)
。我可以在数据库级别上使用低于SQL的功能启用它,但无法在表级别启用。
Use DatabaseName
GO
Exec sys.sp_cdc_enable_db
GO
EXEC sys.sp_cdc_enable_table @source_schema = N'dbo'
,@source_name = N'TableName'
, @role_name = NULL
GO
得到错误,
' msg 22832,Level 16,State 1,Procedure sp_cdc_enable_table_internal, 第623行
无法更新指示表[dbo]的元数据。[TableName] 已启用Change Data Capture。失败发生在 执行命令' [sys]。[sp_cdc_add_job] @job_type = N'捕获''。 返回的错误是22836:'无法更新元数据 数据库DatabaseName表示更改数据捕获作业具有 已被添加。执行命令时发生故障 ' sp_add_jobstep_internal&#39 ;.返回的错误是14234:' The 指定' @ server'无效(有效值由。返回 的sp_helpserver)。&#39 ;.使用操作和错误来确定原因 失败并重新提交请求。'。使用操作和错误 确定失败的原因并重新提交请求。'
有人会帮我解决这个问题吗?
提前致谢.. !!
答案 0 :(得分:2)
我最近遇到了同样的问题。
在我看来,计算机的名称很可能已经改变。 如果是真的,请继续阅读......
名称SQL自动识别更改计算机。但是,必须手动更新系统元数据。 (来源:http://msdn.microsoft.com/en-us/library/ms143799.aspx)
SQL语句
sp_dropserver old_name\instancename;
GO
sp_addserver new_name\instancename, local;
GO
实施例
sp_dropserver name-PC\SQLEXPRESS;
GO
sp_addserver CLT55\SQLEXPRESS, local;
GO
参考问题和解决方案 (http://zavaschi.com/index.php/category/sql-server-2014/)