Répliquer les modifications de schéma

S’applique à : SQL Server Azure SQL Managed Instance

Cette rubrique décrit comment répliquer les modifications de schéma dans SQL Server en utilisant SQL Server Management Studio ou Transact-SQL.

Si vous apportez les modifications de schéma suivantes à un article publié, elles sont propagées, par défaut, aux Abonnés Microsoft SQL Server :

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

Dans cette rubrique

Avant de commencer

Limitations et restrictions

  • L'instruction ALTER TABLE ... DROP COLUMN est toujours répliquée vers tous les Abonnés dont l’abonnement contient les colonnes à supprimer, même si vous désactivez la réplication des modifications de schéma.

Utilisation de SQL Server Management Studio

Si vous ne voulez pas répliquer des modifications de schéma pour une publication, désactivez la réplication des modifications de schéma dans la boîte de dialogue Propriétés de la publication - <Publication>. Pour plus d'informations sur l'accès à cette boîte de dialogue, consultez Afficher et modifier les propriétés d’un serveur de publication.

Pour désactiver la réplication des modifications de schéma

  1. Dans la page Options d’abonnement de la boîte de dialogue Propriétés de la publication - <Publication>, affectez à la propriété Répliquer les modifications de schéma la valeur False.

  2. Cliquez sur OK.

    Pour propager seulement des modifications de schéma spécifiques, définissez la propriété à True avant une modification de schéma, puis définissez-la à False après avoir effectué la modification. Inversement, pour propager la plupart des modifications de schéma mais pas une modification spécifique, définissez la propriété à False avant la modification de schéma, puis définissez-la à True après avoir effectué la modification.

Utilisation de Transact-SQL

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.

Pour créer une publication transactionnelle ou d'instantané qui ne réplique pas les modifications du schéma

  1. Dans la base de données de publication sur le serveur de publication, exécutez sp_addpublication (Transact-SQL), en spécifiant la valeur 0 pour @replicate_ddl. Pour plus d’informations, voir Create a Publication.

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

  1. Dans la base de données de publication sur le serveur de publication, exécutez sp_addmergepublication (Transact-SQL), en spécifiant la valeur 0 pour @replicate_ddl. Pour plus d’informations, voir Create a Publication.

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

  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.