Jay*_*iya 5 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
Run Code Online (Sandbox Code Playgroud)
得到错误,如
'msg 22832,级别 16,状态 1,过程 sp_cdc_enable_table_internal,第 623 行
无法更新指示表 [dbo].[TableName] 已为变更数据捕获启用的元数据。执行命令 '[sys].[sp_cdc_add_job] @job_type = N'capture'' 时发生故障。返回的错误为 22836:“无法更新数据库 DatabaseName 的元数据以指示已添加变更数据捕获作业。执行命令“sp_add_jobstep_internal”时发生故障。返回的错误为 14234:“指定的‘@server’无效(sp_helpserver 返回有效值)。”。使用操作和错误来确定失败的原因并重新提交请求。'。使用操作和错误来确定失败的原因并重新提交请求。
有人会帮助我摆脱这种情况吗?
提前致谢..!!
小智 5
我最近也遇到了同样的问题。
在我看来,计算机的名称很可能已更改。如果这是真的,请继续阅读...
SQL 自动识别名称更改计算机。但是,系统元数据必须手动更新。(来源:http ://msdn.microsoft.com/en-us/library/ms143799.aspx )
SQL语句
sp_dropserver old_name\instancename;
GO
sp_addserver new_name\instancename, local;
GO
Run Code Online (Sandbox Code Playgroud)
例子
sp_dropserver name-PC\SQLEXPRESS;
GO
sp_addserver CLT55\SQLEXPRESS, local;
GO
Run Code Online (Sandbox Code Playgroud)