Si applica a
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)

Sintomi

Si supponga di allegare un database abilitato per Change Data Capture in Microsoft SQL Server 2014, 2016 o 2017. Se sono presenti transazioni da rieseguire durante l'avvio del database, la modifica dell'acquisizione di dati può essere eseguita in uno stato incoerente, ovvero Change Data Capture è in stato disabilitato, ma gli oggetti Change Data Capture sono ancora esistenti. È inoltre possibile che si verifichino le situazioni seguenti:

  • Quando si tenta di disabilitare l'acquisizione dei dati di modifica per il database tramite la sp_cdc_disable_db stored procedure, viene visualizzato il messaggio di errore seguente:

    Il database DatabaseName non è abilitato per Change Data Capture. Verificare che il contesto di database corretto sia impostato e riprovare l'operazione. Per segnalare i database abilitati per Change Data Capture, eseguire una query sulla colonna is_cdc_enabled nella vista del catalogo sys. databases.

  • Quando si prova a abilitare la modifica dell'acquisizione di dati per il database tramite la sp_cdc_enable_db stored procedure, viene visualizzato il messaggio di errore seguente:

    Msg 22906, livello 16, stato 1, routine sp_cdc_enable_db_internal, riga lineNumber Il database DatabaseName non può essere abilitato per Change Data Capture perché un utente di database denominato username o uno schema denominato SchemaName esiste già nel database corrente. Questi oggetti sono necessari esclusivamente da Change Data Capture. Rilasciare o rinominare l'utente o lo schema e ripetere l'operazione.

Risoluzione

Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:

       Aggiornamento cumulativo 8 per SQL Server 2016 SP1  

       Aggiornamento cumulativo 4 per SQL Server 2017

       Aggiornamento cumulativo 9 per SQL Server 2014 SP2

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Ultimo aggiornamento cumulativo per SQL Server 2016

Ultimo aggiornamento cumulativo per SQL Server 2017

Ultimo aggiornamento cumulativo per SQL Server 2014

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Riferimenti

Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.