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 publicador.

Observação importanteImportante

Esse procedimento armazenado foi preterido e só tem suporte para compatibilidade com versões anteriores. Só deve ser usado com Editores Microsoft SQL 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ópico Convenções da 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 removida. source_object é nvarchar(258), sem padrão.

  • [ @column = ] 'column'
    É o nome da coluna na tabela a ser removida. 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 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 0 deve ser usado.

  • [ @schema\_change\_script = ] '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 depois que uma alteração de esquema é feita em um artigo de tabela replicado usando sp_repldropcolumn e pode ser utilizado para executar uma destas operaçõ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 ter um instantâneo invalidado. 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 dará permissão para que ocorra um 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 fazer com que a assinatura seja reinicializada. 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 as 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 reinicialização da assinatura ocorra.

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 Fazer 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 executados uma versão anterior de Assinantes do Microsoft SQL Server 2000.

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

Ao usar sp_repldropcolumn, se uma alteração de esquema for feita em 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 regenerados 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 subsequentes. 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 após a execução de sp_repldropcolumn. 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 fixas db_owner ou db_ddladmin no banco de dados de publicação, podem executar sp_repldropcolumn.

Consulte também

Referência

Procedimentos armazenados do sistema (Transact-SQL)

Conceitos

Recursos preteridos em Replicação do Microsoft SQL Server