KB4048967 – KORJAUS: Muutostietojen tallennusta ei voi ottaa käyttöön tai poistaa käytöstä tietokannassa sen liittämisen jälkeen SQL Server 2014:ssä, 2016:ssa tai 2017:ssä

Käytetään kohteeseen
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)

Ongelman ilmenemistapa

Oletetaan, että liität tietokannan, jossa muutostietojen taltiointi on otettu käyttöön Microsoft SQL Server 2014:ssä, 2016:ssa tai 2017:ssä. Jos tietokannan käynnistyksen yhteydessä on tapahtumia, jotka on tehtävä uudelleen, muutostietojen sieppaus voi ajautua epäyhtenäiseen tilaan, jolloin muutostietojen sieppausobjektit ovat poissa käytöstä, mutta muutostietojen sieppausobjektit ovat yhä olemassa. Lisäksi saatat kohdata seuraavia tilanteita:

  • Kun yrität poistaa muutostietojen tallennuksen käytöstä tässä tietokannassa sp_cdc_disable_db tallennetun toimintosarjan avulla, näyttöön tulee seuraava virhesanoma:

    Huomautus

    Tietokannan DatabaseName ei ole käytössä Change Data Capture -toimintoa varten. Varmista, että oikea tietokantakonteksti on määritetty, ja yritä toimintoa uudelleen. Jos haluat raportoida Muuta tietoja -Capture käyttöön otetuista tietokannoista, tee kysely is_cdc_enabled-sarakkeesta sys.databases-luettelonäkymässä.

  • Kun yrität ottaa muutostietojen tallennuksen käyttöön tässä tietokannassa sp_cdc_enable_db tallennetun toimintosarjan avulla, näyttöön tulee seuraava virhesanoma:

    Huomautus

    Msg 22906, taso 16, tila 1, proseduuri sp_cdc_enable_db_internal, rivinumero

    Tietokannan DatabaseName Change Data Capture -toimintoa ei voi ottaa käyttöön, koska nykyisessä tietokannassa on jo tietokannan käyttäjänimi UserName tai rakenne nimeltä SchemaName. Change Data Capture edellyttää näitä objekteja yksinomaan. Hylkää käyttäjä tai rakenne tai nimeä se uudelleen ja yritä toimintoa uudelleen.

Ratkaisu

Tämä ongelma on korjattu seuraavissa SQL Server kumulatiivisissa päivityksissä:

SQL Server 2016 SP1:n kumulatiivinen päivitys 8

SQL Server 2017:n kumulatiivinen päivitys 4

SQL Server 2014 SP2:n kumulatiivinen päivitys 9

Tietoja SQL Server:n kumulatiivisista päivityksistä:

Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:

SQL Server 2016:n uusin kumulatiivinen päivitys

SQL Server 2017:n uusin kumulatiivinen päivitys

SQL Server 2014:n uusin kumulatiivinen päivitys

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Viitteet

Lue tietoja Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta.