Partilhar via


sp_changesubstatus (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 é sysname, com um padrão %. Se publication não for especificado, todas as publicações serão afetadas.

  • [ @article=] 'article'
    É o nome do artigo. Deve ser exclusivo da publicação. article é sysname, com um padrão %. Se article não for especificado, todas as publicações serão afetadas.

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

  • [ @status =] 'status'
    É o status da Assinatura na tabela syssubscriptions. status é sysname, sem padrão, e, pode ser um destes 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 NULL. Esse parâmetro permite que você altere qualquer assinatura atualmente com esse status, permitindo, assim, funções de grupo em um conjunto específico de assinaturas (por exemplo, a definição de todas as assinaturas ativas de volta a subscribed).

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

  • [ @frequency_type=] frequency_type
    É a freqüência de agendamento da tarefa de distribuição. frequency_type é int, com um padrão NULL.

  • [ @frequency_interval=] frequency_interval
    É o valor a ser aplicado à freqüência definida por frequency_type. frequency_interval é int, com um padrão NULL.

  • [ @frequency_relative_interval=] frequency_relative_interval
    É a data da tarefa de distribuição. É o parâmetro usado quando frequency_type é definido como 32 (relativo ao mês). frequency_relative_interval é int, e pode ser um destes 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 por frequency_type. frequency_recurrence_factor é int, com um padrão NULL.

  • [ @frequency_subday=] frequency_subday
    É a freqüência, em minutos, de reagendamento durante o período definido. frequency_subday é int, e pode ser um destes 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 NULL.

  • [ @active_start_time_of_day=] active_start_time_of_day
    É a hora do dia do primeiro agendamento da tarefa de distribuição, formatada como HHMMSS. active_start_time_of_day é int, com um padrão 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 NULL.

  • [ @active_start_date=] active_start_date
    É a data do primeiro agendamento da tarefa de distribuição, formatada como YYYYMMDD. active_start_date é int, com um padrão 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'
    É o prompt de comando opcional. optional_command_line é nvarchar(4000), com um padrão NULL.

  • [ @distribution_jobid=] distribution_jobid
    É a ID de trabalho do Distribution Agent no Distribuidor para a assinatura, ao alterar o status da assinatura de inativo para ativo. Em outros casos, não é definida. Se mais de um Distribution Agent for envolvido em uma única chamada para esse procedimento armazenado, o resultado não será definido. distribution_jobid é binary(16), com um padrão

  • [ @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çãoObservaçã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 definição de remote_agent_activation com um valor diferente de 0 gera um erro.

  • [ @offloadserver= ] 'remote_agent_server_name'

    ObservaçãoObservação

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

  • [ @dts_package_name= ] 'dts_package_name'
    Especifica o nome do pacote DTS (Data Transformation Services). . dts_package_name é um sysname, com um padrão de NULL. Por exemplo, para um pacote nomeado DTSPub_Package, especifique @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 NULL, que especifica que a propriedade da senha não deve ser alterada.

    ObservaçãoObservaçã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 for 0, o local do pacote é no Distribuidor. Se for 1, o local de pacote é 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 NULL.

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

    ObservaçãoObservação

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

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

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

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

Permissões

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