KB3170123 - Ondersteunt DROP TABLE DDL voor artikelen die zijn opgenomen in transactionele replicatie in SQL Server 2014 of in SQL Server 2016 SP1

Van toepassing op
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)

In dit artikel wordt een verbetering beschreven waardoor een tabel die als een artikel is opgenomen in transactionele replicatiepublicatie, uit de database en de publicatie(s) wordt verwijderd. Een tabel kan alleen worden verwijderd als de eigenschap allow_drop is ingesteld op TRUE voor alle publicaties die de tabel(len) als artikel hebben. Als de eigenschap is ingesteld op ONWAAR voor een van de publicaties die het artikel bevatten, mislukt de bewerking DROP TABLE en wordt gemeld dat gerepliceerde artikelen niet kunnen worden verwijderd.

Als een DROP TABLE DDL wordt ondersteund door de publicatie(s), wordt de tabel met de bewerking DROP TABLE uit de publicatie en de database verwijderd. De logboeklezeragent plaatst een opschoningsopdracht voor de distributiedatabase van de neergezette tabel en zorgt voor het opschonen van de metagegevens van de uitgever. Als de logboeklezer niet alle logboekrecords heeft verwerkt die verwijzen naar de verloren tabel, worden nieuwe opdrachten genegeerd die zijn gekoppeld aan de weggehaalde tabel. Reeds verwerkte records worden afgeleverd bij de distributiedatabase. Ze kunnen worden toegepast op de abonneedatabase als de distributieagent ze verwerkt voordat Log Reader het verouderde (verwijderde) artikel(en) opruimt.

Opdracht om droptable-ondersteuning in te schakelen voor een publicatie:exec sp_changepublication @publication = '<Publication Name>', @property = 'allow_drop', @value = 'true' Opdracht om ondersteuning voor drop table in te schakelen terwijl u een publicatie maakt:

exec sp_addpublication @publication = '<Publication Name>', ..., @allow\_drop = N'true' De standaardwaarde van de eigenschap allow_drop is ingesteld op False.

Oplossing

Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:

Informatie over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

Meest recente cumulatieve update voor SQL Server 2016
        
      

Informatie over servicepacksDeze functionaliteit werd voor het eerst geïntroduceerd in de volgende servicepacks voor SQL Server:

Over servicepacks voor SQL Server

Servicepacks zijn cumulatief. Elk nieuw servicepack bevat alle correcties uit vorige servicepacks, samen met nieuwe oplossingen. Wij raden aan om het nieuwste servicepack en de meest recente cumulatieve update voor dit servicepack toe te passen. U hoeft geen eerdere servicepack te installeren voordat u het nieuwste servicepack installeert. Gebruik tabel 1 in het volgende artikel voor meer informatie over het nieuwste servicepack en de meest recente cumulatieve update.

Hoe u het versie-, editie- en updateniveau van SQL Server en zijn onderdelen bepaalt