Condividi tramite


sp_changesubstatus (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

Modifica lo stato di un Sottoscrittore esistente. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione. @publication è sysname, con il valore predefinito %. Se @publication non viene specificato, tutte le pubblicazioni sono interessate.

[ @article = ] N'article'

Nome dell'articolo. @article è sysname, con un valore predefinito .% Deve essere univoco all'interno della pubblicazione. Se @article non viene specificato, tutti gli articoli sono interessati.

[ @subscriber = ] N'subscriber'

Nome del Sottoscrittore di cui modificare lo stato. @subscriber è sysname, con il valore predefinito %. Se @subscriber non viene specificato, lo stato viene modificato per tutti i Sottoscrittori nell'articolo specificato.

[ @status = ] N'status'

Stato della sottoscrizione nella syssubscriptions tabella. @status è sysname e può essere uno di questi valori.

valore Descrizione
active Il Sottoscrittore è sincronizzato e in fase di ricezione dei dati.
inactive Alla voce relativa al Sottoscrittore non è associata alcuna sottoscrizione.
subscribed Il Sottoscrittore richiede dati, ma non è ancora sincronizzato.

[ @previous_status = ] N'previous_status'

Stato precedente per la sottoscrizione. @previous_status è sysname, con un valore predefinito .NULL Questo parametro consente di modificare tutte le sottoscrizioni che attualmente hanno tale stato, consentendo così funzioni di gruppo in un set specifico di sottoscrizioni (ad esempio, impostando tutte le sottoscrizioni attive su subscribed).

[ @destination_db = ] N'destination_db'

Nome del database di destinazione. @destination_db è sysname, con il valore predefinito %.

[ @frequency_type = ] frequency_type

Specifica la frequenza con cui pianificare l'attività di distribuzione. @frequency_type è int, con il valore predefinito .NULL

[ @frequency_interval = ] frequency_interval

Valore da applicare alla frequenza impostata da @frequency_type. @frequency_interval è int, con il valore predefinito NULL.

[ @frequency_relative_interval = ] frequency_relative_interval

Data dell'attività di distribuzione. Questo parametro viene usato quando @frequency_type è impostato su 32 (relativo mensile). @frequency_relative_interval è int e può essere uno di questi valori.

valore Descrizione
1 First
2 Secondo
4 Terza
8 Quarta
16 Last
NULL (predefinito)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor

Fattore di ricorrenza utilizzato da @frequency_type. @frequency_recurrence_factor è int, con un valore predefinito .NULL

[ @frequency_subday = ] frequency_subday

Specifica la frequenza, espressa in minuti, di riprogrammazione durante il periodo definito. @frequency_subday è int e può essere uno di questi valori.

valore Descrizione
1 Una sola volta
2 Secondo
4 Minute
8 Ora
NULL (predefinito)

[ @frequency_subday_interval = ] frequency_subday_interval

Intervallo per @frequency_subday. @frequency_subday_interval è int, con il valore predefinito NULL.

[ @active_start_time_of_day = ] active_start_time_of_day

Ora del giorno in cui l'attività di distribuzione viene pianificata per la prima volta, formattata come HHmmss. @active_start_time_of_day è int, con il valore predefinito NULL.

[ @active_end_time_of_day = ] active_end_time_of_day

Ora del giorno in cui l'attività di distribuzione smette di essere pianificata, formattata come HHmmss. @active_end_time_of_day è int, con il valore predefinito .NULL

[ @active_start_date = ] active_start_date

Data della prima pianificazione dell'attività di distribuzione, formattata come yyyyMMdd. @active_start_date è int, con un valore predefinito .NULL

[ @active_end_date = ] active_end_date

Data in cui l'attività di distribuzione smette di essere pianificata, formattata come yyyyMMdd. @active_end_date è int, con un valore predefinito .NULL

[ @optional_command_line = ] N'optional_command_line'

Prompt dei comandi facoltativo. @optional_command_line è nvarchar(4000), con il valore predefinito NULL.

[ @distribution_jobid = ] distribution_jobid OUTPUT

ID processo del agente di distribuzione nel server di distribuzione per la sottoscrizione quando si modifica lo stato della sottoscrizione da inattivo a attivo. In altri casi, non è definito. Se più di un agente di distribuzione è coinvolto in una singola chiamata a questa stored procedure, il risultato non viene definito. @distribution_jobid è un parametro OUTPUT di tipo binary(16).@distribution_jobid è un parametro OUTPUT di tipo binary(16).@distribution_jobid is an OUTPUT parameter of type binary(16).

[ @from_auto_sync = ] from_auto_sync

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

[ @ignore_distributor = ] ignore_distributor

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

[ @offloadagent = ] offloadagent

Questo parametro è deprecato e viene mantenuto per la compatibilità con le versioni precedenti degli script. L'impostazione di @offloadagent su un valore diverso da 0 genera un errore.

[ @offloadserver = ] N'offloadserver'

Questo parametro è deprecato e viene mantenuto per la compatibilità con le versioni precedenti degli script. L'impostazione di @offloadserver su qualsiasi valore non NULL genera un errore.

[ @dts_package_name = ] N'dts_package_name'

Specifica il nome del pacchetto Data Transformation Services (DTS). @dts_package_name è sysname, con un valore predefinito .NULL Ad esempio, per un pacchetto denominato DTSPub_Package è necessario specificare @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password = ] N'dts_package_password'

Specifica la password per il pacchetto. @dts_package_password è nvarchar(524), con un valore predefinito , che specifica che la proprietà password deve essere lasciata invariataNULL.

Nota

A ogni pacchetto DTS deve essere associata una password.

[ @dts_package_location = ] dts_package_location

Specifica la posizione del pacchetto. @dts_package_location è int, con il valore predefinito 0.

  • Se 0, il percorso del pacchetto si trova nel server di distribuzione.
  • Se 1, il percorso del pacchetto si trova nel Sottoscrittore.

Il percorso del pacchetto può essere distributor o subscriber.

[ @skipobjectactivation = ] skipobjectactivation

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

[ @distribution_job_name = ] N'distribution_job_name'

Nome del processo di distribuzione. @distribution_job_name è sysname, con un valore predefinito .NULL

[ @publisher = ] N'publisher'

Specifica un server di pubblicazione non SQL Server. @publisher è sysname, con un valore predefinito .NULL

@publisher non deve essere usato quando si modificano le proprietà dell'articolo in un server di pubblicazione di SQL Server.

[ @ignore_distributor_failure = ] ignore_distributor_failure

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_changesubstatus viene usato nella replica snapshot e nella replica transazionale.

sp_changesubstatus modifica lo stato del Sottoscrittore nella syssubscriptions tabella con lo stato modificato. Se necessario, aggiorna lo stato dell'articolo nella sysarticles tabella per indicare l'attività attiva o inattiva. Se necessario, imposta o disattiva il flag di replica nella sysobjects tabella per la tabella replicata.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin , db_owner ruolo predefinito del database o l'autore della sottoscrizione può eseguire sp_changesubstatus.