SSIS CDC(Change Data Capture)组件在数据库中启用报错。 The error returned was 14234: 'The specified '@server' is invalid

昨天实验CDC,在数据库中执行以下语句的时候出错。

EXEC sys.sp_cdc_enable_table
  @source_schema = Nstg,
  @source_name = NCDCSalesOrderHeader,
  @role_name = Ncdc_role,
  @supports_net_changes = 1;


Msg 22832, Level 16, State 1, Procedure sp_cdc_enable_table_internal, Line 623
Could not update the metadata that indicates table [stg].[CDCSalesOrderHeader] is enabled for Change Data Capture. The failure occurred when executing the command [sys].[sp_cdc_add_job] @job_type = Ncapture‘‘. The error returned was 22836: Could not update the metadata for database TK463DW to indicate that a Change Data Capture job has been added. The failure occurred when executing the command sp_add_jobstep_internal. The error returned was 14234: The specified @server is invalid (valid values are returned by sp_helpserver).. Use the action and error to determine the cause of the failure and resubmit the request.. Use the action and error to determine the cause of the failure and resubmit the request.


一开始看到一个方案,把数据库的owner改为SA。执行以后无效。

EXEC sp_changedbowner sa

根据下面错误又查了一下,才发现是因为我改了计算机名字,导致数据库中的实例名不一样。

The error returned was 14234: The specified @server is invalid (valid values are returned by sp_helpserver)

处理步骤:

 1.执行sp_helpserver查看当前实例清单

EXEC sp_helpserver 

2. 使用sp_addserver 添加实例名

EXEC sp_addserver WIN2K8\SQL2K8

sp_addserver 在SQL Server 2012 中已经淘汰,需要改用sp_addlinkedserver

EXEC sp_addlinkedserver WIN2K8\SQL2K8,SQL Server

3. 再次执行CDC代码即可

 

参考文档

#0164-SQL Server 2012-Discontinued Features-sp_addserver-Remote server registration-Msg: 15663

 

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。