Condividi tramite


sp_changesubstatus (Transact-SQL)

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

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

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' ]

Argomenti

  • [ @publication=] 'publication'
    Nome della pubblicazione. publication è di tipo sysname e il valore predefinito è %. Se publication viene omesso, la modifica viene apportata in tutte le pubblicazioni.

  • [ @article=] 'article'
    Nome dell'articolo. Deve essere univoco all'interno della pubblicazione. article è di tipo sysname e il valore predefinito è %. Se article viene omesso, la modifica viene apportata in tutti gli articoli.

  • [ @subscriber=] 'subscriber'
    Nome del Sottoscrittore di cui si desidera modificare lo stato. subscriber è di tipo sysname e il valore predefinito è %. Se subscriber viene omesso, la modifica dello stato viene apportata in tutti i Sottoscrittori per l'articolo specificato.

  • [ @status =] 'status'
    Stato della sottoscrizione nella tabella syssubscriptions. status è di tipo sysname e non prevede alcun valore predefinito. I possibili valori sono i seguenti.

    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=] 'previous_status'
    Stato precedente della sottoscrizione. previous_status è di tipo sysname e il valore predefinito è NULL. Questo parametro consente di modificare tutte le sottoscrizioni con lo stato specificato, permettendo in tal modo l'utilizzo di funzioni di gruppo in un determinato set di sottoscrizioni, ad esempio per reimpostare tutte le sottoscrizioni attive su subscribed.

  • [ @destination_db=] 'destination_db'
    Nome del database di destinazione. destination_db è di tipo sysname e il valore predefinito è %.

  • [ @frequency_type=] frequency_type
    Frequenza di pianificazione dell'attività di distribuzione. frequency_type è di tipo int e il valore predefinito è NULL.

  • [ @frequency_interval=] frequency_interval
    Valore da applicare alla frequenza impostata da frequency_type. frequency_interval è di tipo int e il valore predefinito è NULL.

  • [ @frequency_relative_interval=] frequency_relative_interval
    Data dell'attività di distribuzione. Questo parametro viene utilizzato quando frequency_type è impostato su 32 (mensile relativa). frequency_relative_interval è di tipo int. I valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Primo

    2

    Secondo

    4

    Terzo

    8

    Quarto

    16

    Ultimo

    NULL (predefinito)

     

  • [ @frequency_recurrence_factor=] frequency_recurrence_factor
    Fattore di occorrenza utilizzato da frequency_type. frequency_recurrence_factor è di tipo int e il valore predefinito è NULL.

  • [ @frequency_subday=] frequency_subday
    Frequenza di ripianificazione in minuti durante il periodo definito. frequency_subday è di tipo int. I valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Una volta sola

    2

    Secondo

    4

    Minuto

    8

    Ora

    NULL (predefinito)

     

  • [ @frequency_subday_interval=] frequency_subday_interval
    Intervallo per frequency_subday. frequency_subday_interval è di tipo int e il valore predefinito è NULL.

  • [ @active_start_time_of_day=] active_start_time_of_day
    Ora del giorno della prima esecuzione pianificata dell'attività di distribuzione, nel formato HHMMSS. active_start_time_of_day è di tipo int e il valore predefinito è NULL.

  • [ @active_end_time_of_day=] active_end_time_of_day
    Ora del giorno dell'ultima esecuzione pianificata dell'attività di distribuzione, nel formato HHMMSS. active_end_time_of_day è di tipo int e il valore predefinito è NULL.

  • [ @active_start_date=] active_start_date
    Data della prima esecuzione pianificata per l'attività di distribuzione, nel formato AAAAMMGG. active_start_date è di tipo int e il valore predefinito è NULL.

  • [ @active_end_date=] active_end_date
    Data dell'ultima esecuzione pianificata dell'attività di distribuzione, nel formato AAAAMMGG. active_end_date è di tipo int e il valore predefinito è NULL.

  • [ @optional_command_line=] 'optional_command_line'
    Riga di comando facoltativa. optional_command_line è di tipo nvarchar(4000) e il valore predefinito è NULL.

  • [ @distribution_jobid=] distribution_jobid
    ID del processo dell'agente di distribuzione nel server di distribuzione per la sottoscrizione quando lo stato inattivo della sottoscrizione viene modificato da inattivo ad attivo. Negli altri casi non è definito. Se una chiamata a questa stored procedure richiede l'utilizzo di più agenti di distribuzione, il risultato non è definito. distribution_jobid è di tipo binary(16), e il valore predefinito è NULL.

  • [ @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= ] remote_agent_activation

    [!NOTA]

    L'attivazione remota dell'agente è deprecata e non è più supportata. Questo parametro è supportato solo per compatibilità con gli script di versioni precedenti. Se si imposta remote_agent_activation su un valore diverso da 0 viene generato un errore.

  • [ @offloadserver= ] 'remote_agent_server_name'

    [!NOTA]

    L'attivazione remota dell'agente è deprecata e non è più supportata. Questo parametro è supportato solo per compatibilità con gli script di versioni precedenti. Se si imposta remote_agent_server_name su qualsiasi valore non NULL, viene generato un errore.

  • [ @dts_package_name= ] 'dts_package_name'
    Specifica il nome del pacchetto Data Transformation Services (DTS). dts_package_name è di tipo sysname e il valore predefinito è NULL. Per un pacchetto denominato DTSPub_Package, ad esempio, specificare @dts\_package\_name = N'DTSPub_Package'.

  • [ @dts_package_password= ] 'dts_package_password'
    Specifica la password per il pacchetto. dts_package_password è di tipo sysname e il valore predefinito è NULL, che indica che la proprietà della password deve rimanere invariata.

    [!NOTA]

    A un pacchetto DTS deve essere associata una password.

  • [ @dts_package_location= ] dts_package_location
    Specifica la posizione del pacchetto. dts_package_location è di tipo int e il valore predefinito è 0. Se è 0, il pacchetto si trova nel server di distribuzione. Se è 1, il pacchetto si trova nel Sottoscrittore. Per la posizione del pacchetto è possibile specificare distributor o subscriber.

  • [ @skipobjectactivation= ] skipobjectactivation
    Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

  • [ @distribution_job_name= ] 'distribution_job_name'
    Nome del processo di distribuzione. distribution_job_name è di tipo sysname e il valore predefinito è NULL.

  • [ @publisher= ] 'publisher'
    Specifica un server di pubblicazione non Microsoft SQL Server. publisher è di tipo sysname e il valore predefinito è NULL.

    [!NOTA]

    Evitare di utilizzare publisher quando si modificano le proprietà di un articolo in un server di pubblicazione SQL Server.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_changesubstatus viene utilizzata nella replica snapshot e nella replica transazionale.

La stored procedure sp_changesubstatus modifica lo stato del Sottoscrittore nella tabella syssubscriptions. Se necessario, aggiorna lo stato degli articoli nella tabella sysarticles impostandolo su attivo o inattivo. Se necessario, imposta il flag di replica su On o Off nella tabella sysobjects per la tabella replicata.

Autorizzazioni

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

Vedere anche

Riferimento

sp_addsubscription (Transact-SQL)

sp_dropsubscription (Transact-SQL)

sp_helpdistributor (Transact-SQL)

sp_helpsubscription (Transact-SQL)

Stored procedure di sistema (Transact-SQL)