KB4048967 – OPRAVA: Nelze povolit nebo zakázat zachycení dat změn pro databázi po jejím připojení v SQL Server 2014, 2016 nebo 2017

Platí pro
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)

Příznaky

Předpokládejme, že připojíte databázi, která má povolené zachycování dat změn v Microsoft SQL Server 2014, 2016 nebo 2017. Pokud existují transakce, které je třeba během spuštění databáze provést znovu, může zachycení dat změn přejít do nekonzistentního stavu, to znamená, že zachycení dat změn je v zakázaném stavu, ale objekty zachycení dat změn stále existují. Dále může dojít k následujícím situacím:

  • Když se pokusíte zakázat zachycování dat změn pro tuto databázi pomocí uložené procedury sp_cdc_disable_db, zobrazí se následující chybová zpráva:

    Poznámka

    Databáze DatabaseName není povolená pro Change Data Capture. Ujistěte se, že je nastavený správný kontext databáze, a opakujte operaci. Chcete-li vytvořit sestavu o databázích povolených pro Capture změn dat, zadejte dotaz na sloupec is_cdc_enabled v zobrazení katalogu sys.databases.

  • Když se pokusíte povolit zachycení dat změn pro tuto databázi pomocí sp_cdc_enable_db uložené procedury, zobrazí se následující chybová zpráva:

    Poznámka

    Zpráva 22906, úroveň 16, stav 1, procedura sp_cdc_enable_db_internal, číslo řádku

    Databázi DatabaseName nelze povolit pro Change Data Capture, protože v aktuální databázi již existuje uživatel databáze s názvem UserName nebo schéma s názvem SchemaName. Tyto objekty jsou vyžadovány výhradně nástrojem Change Data Capture. Odstraňte nebo přejmenujte uživatele nebo schéma a opakujte operaci.

Řešení

Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:

Kumulativní aktualizace 8 pro SQL Server 2016 SP1

Kumulativní aktualizace 4 pro SQL Server 2017

Kumulativní aktualizace 9 pro SQL Server 2014 SP2

Informace o kumulativních aktualizacích pro SQL Server:

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2017

Nejnovější kumulativní aktualizace pro SQL Server 2014

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.