Применяется к
SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Проблемы

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

Последнее накопительное обновление для SQL Server 2017

Последнее накопительное обновление для SQL Server 2014

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Ссылки

Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.