Replica delle modifiche dello schemaReplicate Schema Changes

In questo argomento si illustra come replicare le modifiche dello schema in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o 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.

Se si apportano le seguenti modifiche dello schema a un articolo pubblicato, per impostazione predefinita vengono propagate ai Sottoscrittori 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:

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • L'istruzione ALTER TABLE …The ALTER TABLE … DROP COLUMN viene sempre replicata in tutti i Sottoscrittori la cui sottoscrizione contiene le colonne in corso di eliminazione, anche in caso di disabilitazione della replica delle modifiche dello schema.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.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Se non si desidera replicare le modifiche dello schema per una pubblicazione, disabilitare la replica di tali modifiche nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>.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. Per ulteriori informazioni sull'accesso a questa finestra di dialogo, vedere View and Modify Publication Properties.For more information about accessing this dialog box, see View and Modify Publication Properties.

Per disabilitare la replica delle modifiche dello schemaTo disable replication of schema changes

  1. Nella pagina Opzioni sottoscrizione della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> impostare il valore della proprietà Replica modifiche dello schema su Falso.On the Subscription Options page of the Publication Properties - <Publication> dialog box, set the value of the Replicate schema changes property to False.

  2. Fare clic su OK.Click OK.

    Per propagare soltanto modifiche dello schema specifiche, impostare la proprietà su Vero prima di una modifica dello schema e quindi impostarla su Falso al termine della modifica.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. Al contrario, per propagare la maggior parte delle modifiche dello schema ma non una determinata modifica, impostare la proprietà su Falso prima della modifica dello schema e quindi impostarla su Vero al termine della modifica.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.

Utilizzo di Transact-SQL Using Transact-SQL

È possibile utilizzare le stored procedure di replica per specificare se queste modifiche dello schema vengono replicate.You can use replication stored procedures to specify whether these schema changes are replicated. La stored procedure utilizzata dipende del tipo di pubblicazione.The stored procedure that you use depends on the type of publication.

Per creare una pubblicazione snapshot o transazionale che non replica le modifiche dello schemaTo create a snapshot or transactional publication that does not replicate schema changes

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addpublication (Transact-SQL), specificando il valore 0 per @replicate_ddl.At the Publisher on the publication database, execute sp_addpublication (Transact-SQL), specifying a value of 0 for @replicate_ddl. Per altre informazioni, vedere Create a Publication.For more information, see Create a Publication.

Per creare una pubblicazione di tipo merge che non replica le modifiche dello schemaTo create a merge publication that does not replicate schema changes

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergepublication (Transact-SQL), specificando il valore 0 per @replicate_ddl.At the Publisher on the publication database, execute sp_addmergepublication (Transact-SQL), specifying a value of 0 for @replicate_ddl. Per altre informazioni, vedere Create a Publication.For more information, see Create a Publication.

Per disabilitare temporaneamente la replica delle modifiche dello schema per una pubblicazione snapshot o transazionaleTo temporarily disable replicating schema changes for a snapshot or transactional publication

  1. Per una pubblicazione con replica delle modifiche dello schema eseguire sp_changepublication (Transact-SQL), specificando il valore replicate_ddl per @property e il valore 0 per @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. Eseguire il comando DDL sull'oggetto pubblicato.Execute the DDL command on the published object.

  3. (Facoltativo) Riattivare la replica delle modifiche dello schema eseguendo sp_changepublication (Transact-SQL), specificando il valore replicate_ddl per @property e il valore 1 per @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.

Per disabilitare temporaneamente la replica delle modifiche dello schema per una pubblicazione di tipo mergeTo temporarily disable replicating schema changes for a merge publication

  1. Per una pubblicazione con replica delle modifiche dello schema eseguire sp_changemergepublication (Transact-SQL), specificando il valore replicate_ddl per @property e il valore 0 per @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. Eseguire il comando DDL sull'oggetto pubblicato.Execute the DDL command on the published object.

  3. (Facoltativo) Riattivare la replica delle modifiche dello schema eseguendo sp_changemergepublication (Transact-SQL), specificando il valore replicate_ddl per @property e il valore 1 per @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.

Vedere ancheSee Also

Apportare modifiche allo schema nei database di pubblicazione Make Schema Changes on Publication Databases
Apportare modifiche allo schema nei database di pubblicazioneMake Schema Changes on Publication Databases