sp_changesubstatus (Transact-SQL)
Aplica-se a: SQL Server Instâ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 = ] 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 ]
[ ; ]
Argumentos
@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 serão afetadas.
@article [ = ] N'artigo'
O nome do artigo. @article é sysname, com um padrão de %
. Deve ser exclusivo para a publicação. Se @article não for especificado, todos os artigos serão afetados.
@subscriber [ = ] N'assinante'
O nome do Assinante do qual alterar o status. @subscriber é sysname, com um padrão de %
. Se @subscriber não for especificado, o status será alterado para todos os Assinantes do artigo especificado.
@status [ = ] N'status'
O status da syssubscriptions
assinatura na tabela. @status é sysname 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 [ = ] N'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, definir todas as assinaturas ativas de volta para subscribed
).
@destination_db [ = ] N'destination_db'
O nome do banco de dados de destino. @destination_db é sysname, com um padrão de %
.
@frequency_type [ = ] frequency_type
Especifica a freqüê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. Este 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 |
First |
2 |
Segundo |
4 |
Terceiro |
8 |
Quarto |
16 |
Last |
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 de NULL
.
@frequency_subday [ = ] frequency_subday
Especifica a frequência, em minutos, com que reprogramação durante o período definido. @frequency_subday é int e pode ser um desses valores.
Valor | Descrição |
---|---|
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 [ = ] N'optional_command_line'
Um prompt de comando opcional. @optional_command_line é nvarchar(4000), com um padrão de NULL
.
@distribution_jobid [ = ] distribution_jobid SAÍDA
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, ele não está definido. Se mais de um Distribution Agent estiver envolvido em uma única chamada para esse procedimento armazenado, o resultado não será definido. @distribution_jobid é um parâmetro OUTPUT do tipo binary(16).
@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 [ = ] agente de descarregamento
Esse parâmetro foi preterido e é mantido para compatibilidade com versões anteriores de scripts. Definir @offloadagent para um valor diferente de 0
gera um erro.
@offloadserver [ = ] N'offloadserver'
Esse parâmetro foi preterido e é mantido para compatibilidade com versões anteriores de scripts. Definir @offloadserver para qualquer valor não NULL gera um erro.
@dts_package_name [ = ] N'dts_package_name'
Especifica o nome do pacote DTS (Data Transformation Services). @dts_package_name é 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 [ = ] N'dts_package_password'
Especifica a senha no pacote. @dts_package_password é nvarchar(524), com um padrão de , que especifica que a propriedade password deve ser deixada NULL
inalterada.
Observação
Um pacote DTS deve ter uma senha.
@dts_package_location [ = ] dts_package_location
Especifica o local do pacote. @dts_package_location é int, com um padrão de 0
.
- Se
0
, o local do pacote é no Distribuidor. - Se
1
, o local do pacote estiver no Assinante.
A localização do pacote pode ser distributor
ou subscriber
.
@skipobjectactivation [ = ] skipobjectactivation
Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está 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 Publicador não-SQL Server. @publisher é sysname, com um padrão de NULL
.
@publisher não deve ser usado ao alterar as propriedades do artigo em um Publicador do SQL Server.
@ignore_distributor_failure [ = ] ignore_distributor_failure
Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
sp_changesubstatus
é usado na replicação de instantâneo e na replicação transacional.
sp_changesubstatus
altera o status do Assinante na syssubscriptions
tabela com o status alterado. Se necessário, ele atualiza o status do sysarticles
artigo na tabela para indicar ativo ou inativo. Se necessário, ele define o sinalizador de replicação ativado ou desativado na sysobjects
tabela 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
.