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.
Importante |
---|
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. |
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.
Importante |
---|
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)