Проблемы
Предположим, что вы подключаете базу данных, для которой включена возможность захвата измененных данных в Microsoft SQL Server 2014, 2016 или 2017. Если при запуске базы данных есть транзакции, которые необходимо выполнить повторно, это может привести к несогласованному состоянию, т. е. сбор данных изменений находится в отключенном состоянии, но объекты отслеживания изменений в данных по-прежнему существуют. Кроме того, вы можете столкнуться с приведенными ниже ситуациями.
-
При попытке отключить сбор данных изменений для этой базы данных с помощью хранимой процедуры sp_cdc_disable_db , появится следующее сообщение об ошибке:
База данных DatabaseName не включена для сбора данных изменений. Убедитесь, что контекст базы данных задан правильно, и повторите операцию. Чтобы сообщить о базах данных, включенных для сбора данных изменений, запросите столбец is_cdc_enabled в представлении каталога sys. databases.
-
При попытке включить сбор данных изменений для этой базы данных с помощью хранимой процедуры sp_cdc_enable_db , появляется следующее сообщение об ошибке:
Сообщение 22906, уровень 16, состояние 1, sp_cdc_enable_db_internal процедуры, строка LineNumber Базу данных DatabaseName невозможно включить для сбора данных изменений, так как пользователь базы данных с именем username или схема " SchemaName " уже существует в текущей базе данных. Эти объекты являются обязательными только при захвате измененных данных. Удалите или переименуйте пользователя или схему, а затем повторите операцию.
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
Накопительное обновление 8 для SQL Server 2016 с пакетом обновления 1 (SP1)
Накопительное обновление 4 для SQL Server 2017
Накопительное обновление 9 для SQL Server 2014 с пакетом обновления 2 (SP2)
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Последнее накопительное обновление для SQL Server 2016
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.