Ошибка при подключении базы данных с поддержкой 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
ошибка:
Command
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 into [cdc]. [captured_columns]'. Была возвращена ошибка 213: "Имя столбца или количество предоставленных значений не соответствует определению таблицы". Используйте действие и ошибку, чтобы определить причину сбоя и повторно отправить запрос.
Разрешение
Чтобы устранить эту проблему, выполните команду sp_cdc_vupgrade
после присоединения базы данных к экземпляру SQL Server 2016 или SQL Server 2017 в Windows, который включенChange Data Capture
.
Дополнительные сведения см. в разделе Подключение базы данных.