sp_changesubstatus (Transact-SQL)

Aplica-se a:yesSQL Server (todas as versões com suporte) YesInstância Gerenciada de SQL do Azure

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

Topic link iconConvenções de sintaxe do Transact-SQL

Sintaxe

  
sp_changesubstatus [ [ @publication = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  
    [ , [ @subscriber = ] 'subscriber' ]  
        , [ @status = ] 'status'  
    [ , [ @previous_status = ] 'previous_status' ]  
    [ , [ @destination_db = ] '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 = ] 'optional_command_line' ]  
    [ , [ @distribution_jobid = ] distribution_jobid ]  
    [ , [ @from_auto_sync = ] from_auto_sync ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  
    [ , [ @offloadagent= ] remote_agent_activation ]  
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]  
    [ , [ @dts_package_name= ] 'dts_package_name' ]  
    [ , [ @dts_package_password= ] 'dts_package_password' ]  
    [ , [ @dts_package_location= ] dts_package_location ]  
    [ , [ @skipobjectactivation = ] skipobjectactivation  
  [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  

Argumentos

[ @publication = ] 'publication' É o nome da publicação. publication is sysname, with a default of %. Se a publicação não for especificada, todas as publicações serão afetadas.

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

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

[ @status = ] 'status' É o status da assinatura na tabela syssubscriptions . status é sysname, sem padrão, 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 = ] '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, definindo todas as assinaturas ativas de volta como subscritas).

[ @destination_db = ] 'destination_db' É o nome do banco de dados de destino. destination_db é sysname, com um padrão de %.

[ @frequency_type = ] frequency_type É a frequê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. Esse 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 Primeiro
2 Segundo
4 Terceiro
8 Quarto
16 Último
NULL (padrão)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor É o fator de recorrência usado pelo frequency_type. frequency_recurrence_factor é int, com um padrão de NULL.

[ @frequency_subday = ] frequency_subday É com que frequência, em minutos, reagendar durante o período definido. frequency_subday é int e pode ser um desses valores.

Valor Descrição
1 Uma vez
2 Segundo
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 = ] 'optional_command_line' É um prompt de comando opcional. optional_command_line é nvarchar(4000), com um padrão de NULL.

[ @distribution_jobid = ] distribution_jobid É a ID do trabalho do Agente de Distribuição no Distribuidor para a assinatura ao alterar o status da assinatura de inativa para ativa. Em outros casos, não é definida. Se mais de um Distribution Agent estiver envolvido em uma única chamada para esse procedimento armazenado, o resultado não será definido. distribution_jobid é binário(16), com um padrão de NULL.

[ @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 = ] remote_agent_activation

Observação

A ativação do agente remoto foi preterida e não tem mais suporte. Esse parâmetro tem suporte somente para manter a compatibilidade com versões anteriores de scripts. Definir remote_agent_activation para um valor diferente de 0 gera um erro.

[ @offloadserver = ] 'remote_agent_server_name'

Observação

A ativação do agente remoto foi preterida e não tem mais suporte. Esse parâmetro tem suporte somente para manter a compatibilidade com versões anteriores de scripts. A configuração remote_agent_server_name para qualquer valor não NULL gera um erro.

[ @dts_package_name = ] 'dts_package_name' Especifica o nome do pacote DTS (Serviços de Transformação de Dados). dts_package_name é um 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 = ] 'dts_package_password' Especifica a senha no pacote. dts_package_password é sysname com um padrão de NULL, que especifica que a propriedade de senha deve ser deixada inalterada.

Observação

Um pacote DTS deve ter uma senha.

[ @dts_package_location = ] dts_package_location Especifica o local do pacote. dts_package_location é um int, com um padrão de 0. Se 0, o local do pacote será no Distribuidor. Se 1, o local do pacote estará no Assinante. O local do pacote pode ser distribuidor ou assinante.

[ @skipobjectactivation = ] skipobjectactivation

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

[ @distribution_job_name = ] 'distribution_job_name' É o nome do trabalho de distribuição. distribution_job_name é sysname, com um padrão de NULL.

[ @publisher = ] 'publisher' Especifica um Publicador não Microsoft SQL Server. publisher é sysname, com um padrão de NULL.

Observação

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

Valores do código de retorno

0 (êxito) ou 1 (falha)

Comentários

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

sp_changesubstatus altera o status do Assinante na tabela syssubscriptions com o status alterado. Se necessário, ele atualiza o status do artigo na tabela sysarticles para indicar ativo ou inativo. Se necessário, ele define o sinalizador de replicação ativado ou desativado na tabela sysobjects 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.

Consulte Também

sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL)
sp_helpsubscription (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)