Partager via


Procédure : répliquer des modifications de schéma (programmation Transact-SQL de la réplication)

Si vous effectuez les modifications de schéma suivantes dans un article publié, elles sont propagées, par défaut, aux Abonnés MicrosoftSQL Server :

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

Vous pouvez utiliser les procédures stockées de réplication pour spécifier si ces modifications de schéma sont répliquées. La procédure stockée que vous utilisez dépend du type de publication.

[!REMARQUE]

L'instruction ALTER TABLE DROP COLUMN est toujours répliquée sur tous les abonnements dont la partition contient les colonnes qui sont supprimées, quelle que soit la valeur du paramètre @replicate_ddl.

Pour créer une publication transactionnelle ou de capture instantanée qui ne réplique pas les modifications du schéma

Pour créer une publication de fusion qui ne réplique pas les modifications du schéma

Pour désactiver temporairement la réplication des modifications du schéma pour une publication transactionnelle ou de capture instantanée

  1. Pour une publication avec réplication des modifications du schéma, exécutez sp_changepublication (Transact-SQL), en spécifiant la valeur replicate_ddl pour @property et la valeur 0 pour @value.

  2. Exécutez la commande DDL sur l'objet publié.

  3. (Facultatif) Réactivez la réplication des modifications du schéma en exécutant sp_changepublication (Transact-SQL), en spécifiant la valeur replicate_ddl pour @property et la valeur 1 pour @value.

Pour désactiver temporairement la réplication des modifications du schéma pour une publication de fusion

  1. Pour une publication avec réplication des modifications du schéma, exécutez sp_changemergepublication (Transact-SQL), en spécifiant la valeur replicate_ddl pour @property et la valeur 0 pour @value.

  2. Exécutez la commande DDL sur l'objet publié.

  3. (Facultatif) Réactivez la réplication des modifications du schéma en exécutant sp_changemergepublication (Transact-SQL), en spécifiant la valeur replicate_ddl pour @property et la valeur 1 pour @value.