sp_changesubstatus (Transact-SQL)
Modifica lo stato di un Sottoscrittore esistente. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.
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
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 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
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 MicrosoftSQL 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.
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.