Schemawijzigingen repliceren

Van toepassing op:SQL ServerAzure SQL Managed Instance

In dit onderwerp wordt beschreven hoe u schemawijzigingen in SQL Server repliceert met behulp van SQL Server Management Studio of Transact-SQL.

Als u de volgende schemawijzigingen aanbrengt in een gepubliceerd artikel, worden deze standaard doorgegeven aan Microsoft SQL Server abonnees:

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

In Dit Onderwerp

Voordat u begint

Beperkingen en beperkingen

  • De ALTER TABLE ... DROP COLUMN-instructie wordt altijd gerepliceerd naar alle abonnees waarvan het abonnement de kolommen bevat die worden verwijderd, zelfs als u de replicatie van schemawijzigingen uitschakelt.

SQL Server Management Studio gebruiken

Als u schemawijzigingen voor een publicatie niet wilt repliceren, schakelt u de replicatie van schemawijzigingen uit in het dialoogvenster Publicatie-eigenschappen - <Publicatie> . Zie Publicatie-eigenschappen weergeven en wijzigen voor meer informatie over het openen van dit dialoogvenster.

Replicatie van schemawijzigingen uitschakelen

  1. Stel op de pagina Abonnementsopties van het dialoogvenster Publicatie-eigenschappen - <Publicatie> de waarde van de eigenschap Schemawijzigingen repliceren in op Onwaar.

  2. Kies OK.

    Als u alleen specifieke schemawijzigingen wilt doorvoeren, stelt u de eigenschap in op True voordat u een schemawijziging aanbrengt, en stelt u deze in op False nadat de wijziging is aangebracht. Als u daarentegen de meeste schemawijzigingen wilt doorgeven, maar niet een bepaalde wijziging, stelt u de eigenschap in op Onwaar vóór de schemawijziging en stelt u deze in op Waar nadat de wijziging is aangebracht.

Transact-SQL gebruiken

U kunt opgeslagen replicatieprocedures gebruiken om op te geven of deze schemawijzigingen worden gerepliceerd. De opgeslagen procedure die u gebruikt, is afhankelijk van het type publicatie.

Een momentopname of transactionele publicatie maken waarmee schemawijzigingen niet worden gerepliceerd

  1. Voer in de Publisher van de publicatiedatabase sp_addpublication (Transact-SQL) uit, waarbij een waarde wordt opgegeven voor 0@replicate_ddl. Zie Een publicatie maken voor meer informatie.

Een samenvoegpublicatie maken waarmee schemawijzigingen niet worden gerepliceerd

  1. Voer in de Publisher op de publicatiedatabase sp_addmergepublication (Transact-SQL) uit, waarbij een waarde wordt opgegeven voor 0@replicate_ddl. Zie Een publicatie maken voor meer informatie.

Het tijdelijk uitschakelen van de replicatie van schemawijzigingen voor een momentopnamepublicatie of transactionele publicatie

  1. Voor een publicatie met replicatie van schemawijzigingen voert u sp_changepublication (Transact-SQL) uit, waarbij u een waarde replicate_ddl voor @property en een waarde van 0 voor @valueopgeeft.

  2. Voer de DDL-opdracht uit op het gepubliceerde object.

  3. (Optioneel) Schakel het repliceren van schemawijzigingen opnieuw in door sp_changepublication (Transact-SQL) uit te voeren, waarbij een waarde voor replicate_ddl@property en een waarde van 1 voor @valuewordt opgegeven.

Het repliceren van schemawijzigingen voor een samenvoegpublicatie tijdelijk uitschakelen

  1. Voor een publicatie met replicatie van schemawijzigingen voert u sp_changemergepublication (Transact-SQL) uit, waarbij u een waarde replicate_ddl voor @property en een waarde voor 0@valueopgeven.

  2. Voer de DDL-opdracht uit op het gepubliceerde object.

  3. (Optioneel) Schakel het repliceren van schemawijzigingen opnieuw in door sp_changemergepublication (Transact-SQL) uit te voeren, waarbij een waarde voor replicate_ddl@property en een waarde van 1 voor @valuewordt opgegeven.