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 argomentoConvenzioni 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 associare alla frequenza impostata in 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 (frequenza mensile con condizioni). frequency_relative_interval è di tipo int. I possibili valori 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 ricorrenza 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 possibili valori sono i seguenti.

    Valore Descrizione

    1

    Una volta

    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 dell'attività di distribuzione, nel formato YYYYMMDD. 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 YYYYMMDD. 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
    Solo per uso interno.
  • [ @ignore_distributor=] ignore_distributor
    Solo per uso interno.
  • [ @offloadagent= ] remote_agent_activation

    [!NOTA] L'attivazione remota dell'agente 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 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 DTS (Data Transformation Services). 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 del 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
    Solo per uso interno.
  • [ @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] Non utilizzare publisher quando si modificano le proprietà di articoli in un server di pubblicazione SQL Server.

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.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

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)

Guida in linea e informazioni

Assistenza su SQL Server 2005