Ошибка при присоединении базы данных с поддержкой 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
.
Дополнительные сведения см. в разделе "Подключение базы данных".