KB3170123 - Supporta la DDL DROP TABLE per gli articoli inclusi nella replica transazionale in SQL Server 2014 o in SQL Server 2016 SP1

Si applica a
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) 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)

Questo articolo descrive un miglioramento che consente di eliminare dal database e dalle pubblicazioni una tabella inclusa come articolo nella pubblicazione della replica transazionale. È possibile eliminare una tabella solo se la proprietà allow_drop è impostata su TRUE in tutte le pubblicazioni che contengono la tabella o le tabelle come articolo. Se la proprietà è impostata su FALSE per una qualsiasi delle pubblicazioni che contengono l'articolo, l'operazione DROP TABLE avrà esito negativo e segnalerà che gli articoli replicati non possono essere eliminati.

Se un DDL DROP TABLE è supportato dalle pubblicazioni, l'operazione DROP TABLE eliminerà la tabella dalla pubblicazione e dal database. L'agente di lettura di log pubblicherà un comando di pulizia per il database di distribuzione della tabella eliminata ed eseguirà la pulizia dei metadati del server di pubblicazione. Se l'utilità per la lettura di log non ha elaborato tutti i record di log che fanno riferimento alla tabella eliminata, ignorerà i nuovi comandi associati alla tabella eliminata. I record già elaborati verranno consegnati al database di distribuzione. Possono essere applicate al database del sottoscrittore se l'agente di distribuzione le elabora prima che l'utilità per la lettura del log pulisca gli articoli obsoleti (eliminati).

Comando per abilitare il supporto delle tabelle di caduta per una pubblicazione:exec sp_changepublication @publication = '<Nome> pubblicazione', @property = 'allow_drop', @value = 'true' Comando per abilitare il supporto delle tabelle di eliminazione durante la creazione di una pubblicazione:

exec sp_addpublication @publication = '<Nome> pubblicazione', ..., @allow\_drop = N'true' Il valore predefinito della proprietà allow_drop è impostato su False.

Risoluzione

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

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

Aggiornamento cumulativo più recente per SQL Server 2016
        
      

Informazioni sul Service PackQuesta funzionalità è stata introdotta per la prima volta nei seguenti Service Pack per SQL Server:

Informazioni sui Service Pack per SQL Server

I service pack sono cumulativi. Ogni nuovo service pack contiene tutte le correzioni presenti nei service pack precedenti, nonché le eventuali nuove correzioni. È consigliabile applicare il service pack più recente e l'aggiornamento cumulativo più recente per tale service pack. Non è necessario installare un Service Pack precedente prima di installare il Service Pack più recente. Utilizzare la tabella 1 dell'articolo seguente per trovare altre informazioni sul Service Pack più recente e sull'aggiornamento cumulativo più recente.

Come determinare la versione, l'edizione e il livello di aggiornamento di SQL Server e dei relativi componenti