在表级别启用CDC时出错

时间:2014-05-31 11:52:49

标签: sql sql-server cdc

我在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 ;.使用操作和错误来确定原因   失败并重新提交请求。'。使用操作和错误   确定失败的原因并重新提交请求。'

有人会帮我解决这个问题吗?

提前致谢.. !!

1 个答案:

答案 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/