KB3170123 – Unterstützt DROP TABLE DDL für Artikel, die in der Transaktionsreplikation in SQL Server 2014 oder in SQL Server 2016 SP1 enthalten sind

Gilt für
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 diesem Artikel wird eine Verbesserung beschrieben, die es ermöglicht, eine Tabelle, die als Artikel in der Transaktionsreplikationsveröffentlichung enthalten ist, aus der Datenbank und den Veröffentlichungen zu löschen. Eine Tabelle kann nur gelöscht werden, wenn die Eigenschaft allow_drop für alle Publikationen, die die Tabelle(n) als Artikel enthalten, auf TRUE festgelegt ist. Wenn die Eigenschaft für eine der Publikationen, die den Artikel enthalten, auf FALSE festgelegt ist, schlägt der DROP TABLE-Vorgang fehl und meldet, dass replizierte Artikel nicht gelöscht werden können.

Wenn eine DROP TABLE-DDL von den Publikationen unterstützt wird, wird die Tabelle beim DROP TABLE-Vorgang aus der Publikation und der Datenbank gelöscht. Der Protokolllese-Agent sendet einen Bereinigungsbefehl für die Verteilungsdatenbank der gelöschten Tabelle und führt die Bereinigung der Herausgebermetadaten durch. Wenn der Protokollleser nicht alle Protokolldatensätze verarbeitet hat, die auf die gelöschte Tabelle verweisen, ignoriert er neue Befehle, die der gelöschten Tabelle zugeordnet sind. Bereits verarbeitete Datensätze werden an die Verteilungsdatenbank übermittelt. Sie können auf die Abonnentendatenbank angewendet werden, wenn der Verteilungs-Agent sie verarbeitet, bevor der Protokollleser die veralteten (weggefallenen) Artikel bereinigt.

Befehl zum Aktivieren der Drop-Tabellenunterstützung für eine Publikation:exec sp_changepublication @publication = '<Publication Name>', @property = 'allow_drop', @value = 'true' Befehl zum Aktivieren der Drop-Tabellenunterstützung beim Erstellen einer Publikation:

exec sp_addpublication @publication = '<Publication Name>', ..., @allow\_drop = N'true' Der Standardwert der allow_drop-Eigenschaft ist auf False festgelegt.

Lösung

Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Neuestes kumulative Update für SQL Server 2016
        
      

Service Pack-InformationenDiese Funktionalität wurde erstmals in den folgenden Service Packs für SQL Server eingeführt:

Informationen zu Service Packs für SQL Server

Service Packs sind kumulativ. Jedes neue Service Pack enthält neben neuen Updates alle Updates früherer Service Packs. Wir empfehlen, das neueste Service Pack und das neueste kumulative Update für dieses Service Pack anzuwenden. Sie müssen also keine älteren Versionen eines Service Packs installieren, bevor Sie das neueste Service Pack installieren. In Tabelle 1 im folgenden Artikel finden Sie weitere Informationen zum neuesten Service Pack und zum neuesten kumulativen Update.

Ermitteln der Version, Edition und Updatestufe von SQL Server und seinen Komponenten