sys.sp_changesubstatus (Transact-SQL)

Aplica-se a: SQL ServerAzure SQL Managed Instance

Altera o estado de um Assinante existente. Este procedimento armazenado é executado no Publisher no banco de dados de publicação.

Transact-SQL convenções de sintaxe

Syntax

sys.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 ]
[ ; ]

Arguments

[ @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 são afetadas.

[ @article = ] N'artigo'

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

[ @subscriber = ] N'assinante'

O nome do Assinante para alterar o estatuto de. @subscriber é sysname, com um padrão de %. Se @subscriber não for especificado, o estado é alterado para todos os Subscritores do artigo especificado.

[ @status = ] N'estado'

O estado da subscrição na syssubscriptions tabela. @status é sysname, e pode ser um desses valores.

Value Description
active O assinante está sincronizado e está a receber dados.
inactive A inscrição do assinante existe sem subscrição.
subscribed O assinante está a pedir dados, mas ainda não está sincronizado.

[ @previous_status = ] N'previous_status'

O estado anterior da subscrição. @previous_status é sysname, com um padrão de NULL. Este parâmetro permite alterar quaisquer subscrições que tenham esse estado atualmente, permitindo assim funções de grupo num conjunto específico de subscrições (por exemplo, voltar a definir todas as subscrições ativas para subscribed).

[ @destination_db = ] N'destination_db'

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

[ @frequency_type = ] frequency_type

Especifica 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 aplicar à 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 está definido para 32 (relativo mensal). @frequency_relative_interval é int, e pode ser um desses valores.

Value Description
1 First
2 Second
4 Third
8 Fourth
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

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

Value 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 é inicialmente agendada, 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 é inicialmente agendada, 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'

Uma linha de comandos opcional. @optional_command_line é nvarchar(4000), com um padrão de NULL.

[ @distribution_jobid = ] distribution_jobid SAÍDA

O ID do trabalho do Distribution Agent no Distribuidor da subscrição ao alterar o estado da subscrição de inativo para ativo. Noutros casos, não está definido. Se mais do que um Distribution Agent estiver envolvido numa única chamada para este procedimento armazenado, o resultado não é definido. @distribution_jobid é um OUTPUT parâmetro de tipo binary(16).

[ @from_auto_sync = ] from_auto_sync

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

[ @ignore_distributor = ] ignore_distributor

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

[ @offloadagent = ] agente de descarga

Este parâmetro está obsoleto e é mantido para compatibilidade retroativa dos scripts. Definir @offloadagent para um valor diferente 0 de gera um erro.

[ @offloadserver = ] N'offloadserver'

Este parâmetro está obsoleto e é mantido para compatibilidade retroativa dos scripts. Definir @offloadserver para qualquer valor não NULL gera um erro.

[ @dts_package_name = ] N'dts_package_name'

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

[ @dts_package_password = ] N'dts_package_password'

Especifica a palavra-passe do pacote. @dts_package_password é nvarchar(524), com um padrão de NULL, que especifica que a propriedade da palavra-passe deve permanecer inalterada.

Note

Um pacote DTS deve ter uma palavra-passe.

[ @dts_package_location = ] dts_package_location

Especifica a localização da encomenda. @dts_package_location é int, com um padrão de 0.

  • Se 0, a localização da encomenda é no distribuidor.
  • Se 1, a localização do pacote é no Assinante.

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

[ @skipobjectactivation = ] saltar ativação de objetos

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é 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 Editor de Server que não seja SQL. @publisher é sysname, com um padrão de NULL.

@publisher não deve ser usado ao alterar propriedades de artigos numa SQL Server Publisher.

[ @ignore_distributor_failure = ] ignore_distributor_failure

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

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

sp_changesubstatus altera o estado do Assinante na syssubscriptions tabela com o estado alterado. Se necessário, atualiza o estado do artigo na sysarticles tabela para indicar ativo ou inativo. Se necessário, ativa ou desativa a flag de replicação na sysobjects tabela para a tabela replicada.

Permissions

Apenas os membros do papel de servidor fixo de administrador do sistema, db_owner papel fixo de base de dados ou o criador da subscrição podem executar sp_changesubstatus.