Répliquer les modifications de schémaReplicate Schema Changes

Cette rubrique s’applique à : OuiSQL Serveraucunbase de données SQL AzureaucunAzure SQL Data Warehouse aucun Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse Cette rubrique explique comment répliquer les modifications de schéma dans SQL Server 2017SQL Server 2017 à l’aide de SQL Server Management StudioSQL Server Management Studio ou de Transact-SQLTransact-SQL. This topic describes how to replicate schema changes in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Si vous effectuez les modifications de schéma suivantes dans un article publié, elles sont propagées, par défaut, aux Abonnés MicrosoftMicrosoft SQL ServerSQL Server :If you make the following schema changes to a published article, they are propagated, by default, to MicrosoftMicrosoft SQL ServerSQL Server Subscribers:

Avant de commencerBefore You Begin

Limitations et restrictionsLimitations and Restrictions

  • L’instruction ALTER TABLE…The 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.DROP COLUMN statement is always replicated to all Subscribers whose subscription contains the columns being dropped, even if you disable the replication of schema changes.

Utilisation de SQL Server Management StudioUsing 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>.If you do not want to replicate schema changes for a publication, disable the replication of schema changes in the Publication Properties - <Publication> dialog box. Pour plus d'informations sur l'accès à cette boîte de dialogue, consultez View and Modify Publication Properties.For more information about accessing this dialog box, see View and Modify Publication Properties.

Pour désactiver la réplication des modifications de schémaTo disable replication of schema changes

  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.On the Subscription Options page of the Publication Properties - <Publication> dialog box, set the value of the Replicate schema changes property to False.

  2. Cliquez sur OK.Click 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.To propagate only specific schema changes, set the property to True before a schema change, and then set it to False after the change is made. 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.Conversely, to propagate most schema changes, but not a given change, set the property to False before the schema change, and then set it to True after the change is made.

Utilisation de Transact-SQLUsing 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.You can use replication stored procedures to specify whether these schema changes are replicated. La procédure stockée que vous utilisez dépend du type de publication.The stored procedure that you use depends on the type of publication.

Pour créer une publication transactionnelle ou d'instantané qui ne réplique pas les modifications du schémaTo create a snapshot or transactional publication that does not replicate schema changes

  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.At the Publisher on the publication database, execute sp_addpublication (Transact-SQL), specifying a value of 0 for @replicate_ddl. Pour plus d’informations, consultez Create a Publication.For more information, see Create a Publication.

Pour créer une publication de fusion qui ne réplique pas les modifications du schémaTo create a merge publication that does not replicate schema changes

  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.At the Publisher on the publication database, execute sp_addmergepublication (Transact-SQL), specifying a value of 0 for @replicate_ddl. Pour plus d’informations, consultez Create a Publication.For more information, see Create a Publication.

Pour désactiver temporairement la réplication des modifications du schéma pour une publication transactionnelle ou d'instantanéTo temporarily disable replicating schema changes for a snapshot or transactional publication

  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.For a publication with replication of schema changes, execute sp_changepublication (Transact-SQL), specifying a value of replicate_ddl for @property and a value of 0 for @value.

  2. Exécutez la commande DDL sur l'objet publié.Execute the DDL command on the published object.

  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.(Optional) Re-enable replicating schema changes by executing sp_changepublication (Transact-SQL), specifying a value of replicate_ddl for @property and a value of 1 for @value.

Pour désactiver temporairement la réplication des modifications du schéma pour une publication de fusionTo temporarily disable replicating schema changes for a merge publication

  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.For a publication with replication of schema changes, execute sp_changemergepublication (Transact-SQL), specifying a value of replicate_ddl for @property and a value of 0 for @value.

  2. Exécutez la commande DDL sur l'objet publié.Execute the DDL command on the published object.

  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.(Optional) Re-enable replicating schema changes by executing sp_changemergepublication (Transact-SQL), specifying a value of replicate_ddl for @property and a value of 1 for @value.

Voir aussiSee Also

Modifier le schéma dans les bases de données de publication Make Schema Changes on Publication Databases
Modifier le schéma dans les bases de données de publicationMake Schema Changes on Publication Databases