Condividi tramite


Replicare le modifiche dello schema

Si applica a: SQL Server e Istanza gestita di SQL di Azure

Questo argomento descrive come replicare le modifiche dello schema in SQL Server usando SQL Server Management Studio o Transact-SQL.

Se si apportano le seguenti modifiche dello schema a un articolo pubblicato, per impostazione predefinita le modifiche vengono propagate ai Sottoscrittori di Microsoft SQL Server:

  • ALTER TABLE

  • Modificare la visualizzazione

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

Contenuto dell'articolo

Prima di iniziare

Limitazioni e restrizioni

  • L'istruzione 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.

Utilizzo di 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>. Per ulteriori informazioni sull'accesso a questa finestra di dialogo, vedere View and Modify Publication Properties.

Per disabilitare la replica delle modifiche dello schema

  1. Nella pagina Opzioni sottoscrizione della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> impostare il valore della proprietà Replica modifiche dello schema su Falso.

  2. Seleziona 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. 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.

Utilizzo di Transact-SQL

È possibile utilizzare le stored procedure di replica per specificare se queste modifiche dello schema vengono replicate. La stored procedure utilizzata dipende del tipo di pubblicazione.

Per creare una pubblicazione snapshot o transazionale che non replica le modifiche dello schema

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addpublication (Transact-SQL), specificando il valore 0 per @replicate_ddl. Per altre informazioni, vedere Create a Publication.

Per creare una pubblicazione di tipo merge che non replica le modifiche dello schema

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergepublication (Transact-SQL), specificando il valore 0 per @replicate_ddl. Per altre informazioni, vedere Create a Publication.

Per disabilitare temporaneamente la replica delle modifiche dello schema per una pubblicazione snapshot o transazionale

  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.

  2. Eseguire il comando DDL sull'oggetto pubblicato.

  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.

Per disabilitare temporaneamente la replica delle modifiche dello schema per una pubblicazione di tipo merge

  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.

  2. Eseguire il comando DDL sull'oggetto pubblicato.

  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.