Partilhar via


sp_changesubstatus (Transact-SQL)

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

Altera o status de um Assinante existente. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_changesubstatus
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    [ , [ @subscriber = ] N'subscriber' ]
    , [ @status = ] N'status'
    [ , [ @previous_status = ] N'previous_status' ]
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @frequency_type = ] frequency_type ]
    [ , [ @frequency_interval = ] frequency_interval ]
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
    [ , [ @frequency_subday = ] frequency_subday ]
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]
    [ , [ @active_start_date = ] active_start_date ]
    [ , [ @active_end_date = ] active_end_date ]
    [ , [ @optional_command_line = ] N'optional_command_line' ]
    [ , [ @distribution_jobid = ] distribution_jobid OUTPUT ]
    [ , [ @from_auto_sync = ] from_auto_sync ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @offloadagent = ] offloadagent ]
    [ , [ @offloadserver = ] N'offloadserver' ]
    [ , [ @dts_package_name = ] N'dts_package_name' ]
    [ , [ @dts_package_password = ] N'dts_package_password' ]
    [ , [ @dts_package_location = ] dts_package_location ]
    [ , [ @skipobjectactivation = ] skipobjectactivation ]
    [ , [ @distribution_job_name = ] N'distribution_job_name' ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @ignore_distributor_failure = ] ignore_distributor_failure ]
[ ; ]

Argumentos

@publication [ = ] N'publicação'

O nome da publicação. @publication é sysname, com um padrão de %. Se @publication não for especificado, todas as publicações serão afetadas.

@article [ = ] N'artigo'

O nome do artigo. @article é sysname, com um padrão de %. Deve ser exclusivo para a publicação. Se @article não for especificado, todos os artigos serão afetados.

@subscriber [ = ] N'assinante'

O nome do Assinante do qual alterar o status. @subscriber é sysname, com um padrão de %. Se @subscriber não for especificado, o status será alterado para todos os Assinantes do artigo especificado.

@status [ = ] N'status'

O status da syssubscriptions assinatura na tabela. @status é sysname e pode ser um desses valores.

Valor Descrição
active O Assinante está sincronizado e recebendo dados.
inactive Entrada de assinante existe sem uma assinatura.
subscribed O assinante está solicitando dados, mas ainda não está sincronizado.

@previous_status [ = ] N'previous_status'

O status anterior da assinatura. @previous_status é sysname, com um padrão de NULL. Esse parâmetro permite que você altere todas as assinaturas que atualmente têm esse status, permitindo assim funções de grupo em um conjunto específico de assinaturas (por exemplo, definir todas as assinaturas ativas de volta para subscribed).

@destination_db [ = ] N'destination_db'

O nome do banco de dados de destino. @destination_db é sysname, com um padrão de %.

@frequency_type [ = ] frequency_type

Especifica a freqüência com a qual agendar a tarefa de distribuição. @frequency_type é int, com um padrão de NULL.

@frequency_interval [ = ] frequency_interval

O valor a ser aplicado à frequência definida por @frequency_type. @frequency_interval é int, com um padrão de NULL.

@frequency_relative_interval [ = ] frequency_relative_interval

A data da tarefa de distribuição. Este parâmetro é usado quando @frequency_type é definido como 32 (relativo mensal). @frequency_relative_interval é int e pode ser um desses valores.

Valor Descrição
1 First
2 Segundo
4 Terceiro
8 Quarto
16 Last
NULL (padrão)

@frequency_recurrence_factor [ = ] frequency_recurrence_factor

O fator de recorrência usado por @frequency_type. @frequency_recurrence_factor é int, com um padrão de NULL.

@frequency_subday [ = ] frequency_subday

Especifica a frequência, em minutos, com que reprogramação durante o período definido. @frequency_subday é int e pode ser um desses valores.

Valor Descrição
1 Uma vez
2 Second
4 Minuto
8 Hora
NULL (padrão)

@frequency_subday_interval [ = ] frequency_subday_interval

O intervalo para @frequency_subday. @frequency_subday_interval é int, com um padrão de NULL.

@active_start_time_of_day [ = ] active_start_time_of_day

A hora do dia em que a tarefa de distribuição é agendada pela primeira vez, formatada como HHmmss. @active_start_time_of_day é int, com um padrão de NULL.

@active_end_time_of_day [ = ] active_end_time_of_day

A hora do dia em que a tarefa de distribuição deixa de ser agendada, formatada como HHmmss. @active_end_time_of_day é int, com um padrão de NULL.

@active_start_date [ = ] active_start_date

A data em que a tarefa de distribuição é agendada pela primeira vez, formatada como yyyyMMdd. @active_start_date é int, com um padrão de NULL.

@active_end_date [ = ] active_end_date

A data em que a tarefa de distribuição deixa de ser agendada, formatada como yyyyMMdd. @active_end_date é int, com um padrão de NULL.

@optional_command_line [ = ] N'optional_command_line'

Um prompt de comando opcional. @optional_command_line é nvarchar(4000), com um padrão de NULL.

@distribution_jobid [ = ] distribution_jobid SAÍDA

A ID do trabalho do Agente de Distribuição no Distribuidor para a assinatura ao alterar o status da assinatura de inativo para ativo. Em outros casos, ele não está definido. Se mais de um Distribution Agent estiver envolvido em uma única chamada para esse procedimento armazenado, o resultado não será definido. @distribution_jobid é um parâmetro OUTPUT do tipo binary(16).

@from_auto_sync [ = ] from_auto_sync

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

@ignore_distributor [ = ] ignore_distributor

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

@offloadagent [ = ] agente de descarregamento

Esse parâmetro foi preterido e é mantido para compatibilidade com versões anteriores de scripts. Definir @offloadagent para um valor diferente de 0 gera um erro.

@offloadserver [ = ] N'offloadserver'

Esse parâmetro foi preterido e é mantido para compatibilidade com versões anteriores de scripts. Definir @offloadserver para qualquer valor não NULL gera um erro.

@dts_package_name [ = ] N'dts_package_name'

Especifica o nome do pacote DTS (Data Transformation Services). @dts_package_name é sysname, com um padrão de NULL. Por exemplo, para um pacote chamado DTSPub_Package , você especificaria @dts_package_name = N'DTSPub_Package'.

@dts_package_password [ = ] N'dts_package_password'

Especifica a senha no pacote. @dts_package_password é nvarchar(524), com um padrão de , que especifica que a propriedade password deve ser deixada NULLinalterada.

Observação

Um pacote DTS deve ter uma senha.

@dts_package_location [ = ] dts_package_location

Especifica o local do pacote. @dts_package_location é int, com um padrão de 0.

  • Se 0, o local do pacote é no Distribuidor.
  • Se 1, o local do pacote estiver no Assinante.

A localização do pacote pode ser distributor ou subscriber.

@skipobjectactivation [ = ] skipobjectactivation

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

@distribution_job_name [ = ] N'distribution_job_name'

O nome do trabalho de distribuição. @distribution_job_name é sysname, com um padrão de NULL.

@publisher [ = ] N'editor'

Especifica um Publicador não-SQL Server. @publisher é sysname, com um padrão de NULL.

@publisher não deve ser usado ao alterar as propriedades do artigo em um Publicador do SQL Server.

@ignore_distributor_failure [ = ] ignore_distributor_failure

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_changesubstatus é usado na replicação de instantâneo e na replicação transacional.

sp_changesubstatus altera o status do Assinante na syssubscriptions tabela com o status alterado. Se necessário, ele atualiza o status do sysarticles artigo na tabela para indicar ativo ou inativo. Se necessário, ele define o sinalizador de replicação ativado ou desativado na sysobjects tabela para a tabela replicada.

Permissões

Somente membros da função de servidor fixa sysadmin , db_owner função de banco de dados fixa ou o criador da assinatura podem executar sp_changesubstatus.