Replicar alterações de esquema

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Este tópico descreve como replicar alterações de esquema no SQL Server usando o SQL Server Management Studio ou Transact-SQL.

Se você fizer as seguintes alterações de esquema um artigo publicado, elas serão propagadas, por padrão, a todos os Assinantes do Microsoft SQL Server:

  • ALTER TABLE

  • ALTER VIEW

  • ALTER PROCEDURE

  • ALTER FUNCTION

  • ALTER TRIGGER

Neste tópico

Antes de começar

Limitações e Restrições

  • A instrução ALTER TABLE … DROP COLUMN é sempre replicada para todos os Assinantes cuja assinatura contém as colunas que estão sendo descartadas, mesmo se você desabilitar a replicação de alterações de esquema.

Como usar o SQL Server Management Studio.

Se você não deseja replicar as alterações de esquema de uma publicação, desabilite a replicação de alterações de esquema na caixa de diálogo Propriedades da Publicação – <Publicação>. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte View and Modify Publication Properties.

Para desabilitar a replicação de alterações de esquema

  1. Na página Opções de Assinatura da caixa de diálogo Propriedades de Publicação – <Publicação>, defina o valor da propriedade Replicar alterações de esquema como False.

  2. Selecione OK.

    Para propagar apenas alterações de esquema específicas, defina a propriedade como True antes de uma alteração de esquema e, então, defina-a como False depois que a alteração for feita. Por outro lado, para propagar a maioria das alterações de esquema, mas não uma determinada alteração, defina a propriedade como False antes da alteração de esquema e, então, defina-a como True depois que a alteração for feita.

Usando o Transact-SQL

Você pode usar procedimentos armazenados de replicação para especificar se estas alterações de esquema serão replicadas. O procedimento armazenado usado depende do tipo de publicação.

Para criar um instantâneo ou publicação transacional que não replicam alterações de esquema

  1. No Publicador do banco de dados de publicação, execute sp_addpublication (Transact-SQL), especificando um valor igual a 0 para @replicate_ddl. Para obter mais informações, consulte Criar uma assinatura.

Para criar uma publicação de mesclagem que não reproduz alterações de esquema

  1. No Publicador do banco de dados de publicação, execute sp_addmergepublication (Transact-SQL), especificando um valor igual a 0 para @replicate_ddl. Para obter mais informações, consulte Criar uma assinatura.

Para desabilitar temporariamente a replicação das alterações de esquema para um instantâneo ou publicação transacional

  1. Para uma publicação com a replicação de alterações de esquema, execute sp_changepublication (Transact-SQL), especificando um valor replicate_ddl para @property e um valor 0 para @value.

  2. Execute o comando DDL no objeto publicado.

  3. (Opcional) Habilite novamente a replicação de alterações de esquema executando sp_changepublication (Transact-SQL), especificando o valor replicate_ddl para @property e um valor igual a 1 para @value.

Para desabilitar temporariamente a replicação das alterações de esquema para uma publicação de mesclagem

  1. Para uma publicação com a replicação de alterações de esquema, execute sp_changemergepublication (Transact-SQL), especificando um valor replicate_ddl para @property e um valor 0 para @value.

  2. Execute o comando DDL no objeto publicado.

  3. (Opcional) Habilite novamente a replicação de alterações de esquema executando sp_changemergepublication (Transact-SQL), especificando o valor replicate_ddl para @property e um valor igual a 1 para @value.