Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure 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.