Partilhar via


sp_repldropcolumn (Transact-SQL)

Descarta uma coluna de um artigo de tabela existente que foi publicado. Esse procedimento armazenado é executado no Publicador, no banco de dados de publicação.

Observação importanteImportante

Esse procedimento armazenado foi preterido e só tem suporte para compatibilidade com versões anteriores. Só deve ser usado com Editores MicrosoftSQL Server 2000 e Assinantes de republicação SQL Server 2000. Esse procedimento não deve ser usado em colunas com tipos de dados que foram aprensentadas no SQL Server 2005 ou SQL Server 2008.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_repldropcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' 
    [ , [ @from_agent = ] from_agent ] 
    [ , [ @schema_change_script = ] 'schema_change_script' ] 
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ] 
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ] 

Argumentos

  • [ @source\_object = ] 'source_object'
    É o nome do artigo de tabela que contém a nova coluna a ser descartada. source_object é nvarchar(258), sem padrão.

  • [ @column = ] 'column'
    É o nome da coluna na tabela a ser descartada. column é sysname, sem padrão.

  • [ @from\_agent = ] from_agent
    Se o procedimento armazenado estiver sendo executado por um agente de replicação. from_agent é int, com um padrão de 0, onde um valor de 1 é usado quando esse procedimento armazenado está sendo executado por um agente de replicação; em qualquer outro caso o valor padrão de 0 deve ser usado.

  • [ @schema\_change\_script = ] 'schema_change_script'
    Especifica o nome e o caminho de um script 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 que procedimentos armazenados personalizados definidos pelo usuário substituam um ou mais dos procedimentos padrão usados em replicação transacional. schema_change_script é executado depois que uma alteração de esquema é feita em um artigo de tabela replicado usando sp_repldropcolumn, e pode ser usado em uma das seguintes situações:

    • Se os procedimentos armazenados personalizados forem gerados novamente automaticamente, schema_change_script pode ser usado para descartar esses procedimentos armazenados personalizados e substituí-los por procedimentos armazenados personalizados definidos pelo usuário, que oferecem suporte ao novo esquema.

    • Se os procedimentos armazenados personalizados não forem gerados novamente automaticamente, schema_change_script pode ser usado para gerar novamente esses procedimentos armazenados ou criar procedimentos armazenados personalizados definidos pelo usuário.

  • [ @force\_invalidate\_snapshot = ] force_invalidate_snapshot
    Habilita ou desabilita a capacidade de invalidar um instantâneo. force_invalidate_snapshot é um bit, com um padrão de 1.

    1 especifica que as alterações no artigo podem invalidar o instantâneo e, se esse for o caso, um valor de 1 dá permissão para a ocorrência do novo instantâneo.

    0 especifica que as alterações no artigo não invalidam o instantâneo.

  • [ @force\_reinit\_subscription = ] force_reinit_subscription
    Habilita ou desabilita a capacidade de reiniciar a assinatura. force_reinit_subscription é um bit com um padrão de 0.

    0 especifica que as alterações no artigo não fazem com que a assinatura seja reiniciada.

    1 especifica que alterações no artigo podem fazer com que a assinatura seja reiniciada e, se esse for o caso, um valor de 1 dará permissão para que a assinatura seja reiniciada.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_repldropcolumn foi preterido. A remoção de uma coluna de um artigo de tabela replicado só deve ser feita executando comandos DDL (linguagem de definição de dados) na tabela publicada. A replicação replica automaticamente esses comandos DDL, contanto que replicação de DDL tenha sido habilitada. Para obter mais informações, consulte Fazendo alterações de esquema em bancos de dados de publicação.

sp_repladdcolumn também é requerido ao propagar alterações de DDL de Assinantes de republicação que executam uma versão anterior de Assinantes do MicrosoftSQL Server 2000.

sp_repldropcolumn é usado para todos os tipos de replicação.

Ao usar sp_repldropcolumn, se uma alteração de esquema for feita a um artigo que pertence a uma publicação que usa um pacote DTS (Data Transformation Services), a alteração de esquema não será propagada para o Assinante e os procedimentos armazenados INSERT/UPDATE/DELETE não serão gerados novamente nos Assinantes. O usuário precisa gerar novamente o pacote DTS manualmente e efetuar a alteração de esquema correspondente nos Assinantes. Se a atualização de esquema não for aplicada, o Distribution Agent não poderá aplicar modificações subseqüentes. Antes de fazer uma alteração de esquema, verifique se não há transações pendentes a serem entregues.

Observação importanteImportante

Um backup do banco de dados de publicação deve ser executado depois que sp_repladropcolumn é executado. Falha nesse procedimento pode causar uma falha de mesclagem depois da restauração de um banco de dados de publicação.

Permissões

Somente membros da função de servidor fixa sysadmin no Publicador, ou membros das funções de banco de dados fixa db_owner ou db_ddladmin no banco de dados de publicação, podem executar sp_repldropcolumn.