Поделиться через


Ошибка при присоединении базы данных с поддержкой CDC к экземпляру SQL Server 2016 или SQL Server 2017 в Windows

Эта статья поможет устранить проблему, из-за которой вы не можете подключить базу данных с поддержкой CDC к экземпляру SQL Server 2016 или SQL Server 2017 в Windows.

Исходная версия продукта: SQL Server 2008 и более поздние версии
Исходный номер базы знаний: 3200464

Симптомы

Вы отсоединяете базу данных с Change Data Capture включенным в SQL Server 2014 или более ранней версией и присоединяете ее к экземпляру SQL Server 2016 или SQL Server 2017 в Windows. В этом случае при выполнении системной sp_cdc_enable_table процедуры возникает следующая ошибка:

Команда

EXEC sys.sp_cdc_enable_table @source_schema='<schema name>',
@source_name='<source name>', @role_name='<role name>',  
@supports_net_changes=1, @allow_partition_switch=0;

Сообщение об ошибке

Msg 22832, Level 16, State 1, Procedure
sp_cdc_enable_table_internal, строка 639 [начальная строка пакетной службы 0]
Не удалось обновить метаданные, указывающие таблицу [<имя> схемы]. [<имя> объекта] включено для отслеживания измененных данных. Произошел сбой при выполнении команды insert в [cdc]. [captured_columns]'. Возвращенная ошибка составила 213: "Имя столбца или количество предоставленных значений не соответствует определению таблицы". На основе сведений о действии и ошибке выясните причины неуспешного завершения и повторно отправьте запрос.

Решение

Чтобы устранить эту проблему, запустите после sp_cdc_vupgrade подключения базы данных к экземпляру SQL Server 2016 или SQL Server 2017 в Windows, включаемой Change Data Capture .

Дополнительные сведения см. в разделе "Подключение базы данных".