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 |
Ultimo |
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 |
Ore |
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
.