Compartilhar via


sp_repladdcolumn (Transact-SQL)

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

Adiciona uma coluna a um artigo de tabela publicado existente. Permite que a nova coluna seja adicionada a todos os Publicadores que publicam essa tabela, ou simplesmente adiciona a coluna a uma publicação específica que publica a tabela. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.

Importante

Esse procedimento armazenado foi preterido e tem suporte para compatibilidade com versões anteriores. Ele só deve ser usado com Publicadores do SQL Server 2000 (8.x) e Assinantes de republicação do SQL Server 2000 (8.x). Esse procedimento não deve ser usado em colunas com tipos de dados que foram introduzidos no SQL Server 2005 (9.x) e versões posteriores.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_repladdcolumn
    [ @source_object = ] N'source_object'
    , [ @column = ] N'column'
    , [ @typetext = ] N'typetext'
    [ , [ @publication_to_add = ] N'publication_to_add' ]
    [ , [ @from_agent = ] from_agent ]
    [ , [ @schema_change_script = ] N'schema_change_script' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]

Argumentos

@source_object [ = ] N'source_object'

O nome do artigo da tabela que contém a nova coluna a ser adicionada. @source_object é nvarchar(358), sem padrão.

@column [ = ] N'coluna'

O nome da coluna na tabela a ser adicionada para replicação. @column é sysname, sem padrão.

@typetext [ = ] N'textodatipo'

A definição da coluna que está sendo adicionada. @typetext é nvarchar(3000), sem padrão. Por exemplo, se a coluna order_filled estiver sendo adicionada e for um campo de caractere único, não NULL, e tiver um valor padrão de N, order_filled seria o parâmetro da coluna , enquanto a definição da coluna, char(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N' seria o valor do parâmetro @typetext .

@publication_to_add [ = ] N'publication_to_add'

O nome da publicação à qual a nova coluna é adicionada. @publication_to_add é nvarchar(4000), com um padrão de all. Se all, todas as publicações que contêm essa tabela serão afetadas. Se @publication_to_add for especificado, somente esta publicação terá a nova coluna adicionada.

@from_agent [ = ] from_agent

Especifica se o procedimento armazenado está sendo executado por um agente de replicação. @from_agent é int, com um padrão de 0. Um valor de 1 é usado quando esse procedimento armazenado está sendo executado por um agente de replicação e, em todos os outros casos, o valor padrão de 0 deve ser usado.

@schema_change_script [ = ] N'schema_change_script'

Especifica o nome e o caminho de um script do SQL Server usado para modificar os procedimentos armazenados personalizados gerados pelo sistema. @schema_change_script é nvarchar(4000), com um padrão de NULL. A replicação permite procedimentos armazenados personalizados definidos pelo usuário, para substituir um ou mais dos procedimentos padrão usados em replicação transacional. @schema_change_script é executado após uma alteração de esquema ser feita em um artigo de tabela replicado usando sp_repladdcolumn, e pode ser usado da seguinte maneira:

  • Se os procedimentos armazenados personalizados forem regenerados automaticamente, @schema_change_script poderão ser usados para descartar esses procedimentos armazenados personalizados e substituí-los por procedimentos armazenados personalizados definidos pelo usuário que dão suporte ao novo esquema.

  • Se os procedimentos armazenados personalizados não forem regenerados automaticamente, @schema_change_script poderão ser usados para regenerar esses procedimentos armazenados ou para criar procedimentos armazenados personalizados definidos pelo usuário.

@force_invalidate_snapshot [ = ] force_invalidate_snapshot

Habilita ou desabilita a capacidade de ter um instantâneo invalidado. @force_invalidate_snapshot é bit, com um padrão de 1.

  • 1 Especifica que as alterações no artigo podem fazer com que o instantâneo seja inválido e, se for esse o caso, um valor de 1 dá permissão para que o novo instantâneo ocorra.

  • 0 Especifica que as alterações no artigo não fazem com que o instantâneo seja inválido.

@force_reinit_subscription [ = ] force_reinit_subscription

Habilita ou desabilita a capacidade de reinicializar a assinatura. @force_reinit_subscription é bit, com um padrão de 0.

  • 0 Especifica que as alterações no artigo não fazem com que a assinatura seja reinicializada.

  • 1 especifica que as alterações no artigo podem fazer com que a assinatura seja reinicializada e, se for esse o caso, um valor de dá permissão para que a reinicialização da 1 assinatura ocorra.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Permissões

Somente membros da função de servidor fixa sysadmin e da função de banco de dados fixa db_owner podem executar sp_repladdcolumn.