sp_changesubstatus (Transact-SQL)

Aplica-se a:SQL ServerInstâ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 = ] '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 de %. 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. article é 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. subscriber é sysname, com um padrão de %. Se o assinante não for especificado, o status será alterado para todos os Assinantes do 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.
Subscrito 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 para assinadas).

[ @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 que 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 Description
1 First
2 Second
4 Terceiro
8 Quarto
16 Último
NULL (padrão)

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

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

Valor Description
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 = ] '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 inativo para ativo. 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 é binary(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. Definir 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 (Data Transformation Services). 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 password deve ser mantida 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 será 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 que não é do Microsoft SQL Server. publisher é sysname, com um padrão de NULL.

Observação

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

Valores do código de retorno

0 (sucesso) ou 1 (fracasso)

Comentários

sp_changesubstatus é usado na replicação de snapshot 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.

Confira também

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