sp_resyncmergesubscription (Transact-SQL)
Si applica a: SQL Server
Risincronizza una sottoscrizione di tipo merge in base a uno stato di convalida noto specificato. È possibile forzare la convergenza o sincronizzare il database di sottoscrizione in un punto specifico nel tempo, ad esempio l'ultima volta in cui è stata eseguita una convalida o una data specificata. Lo snapshot non viene riapplicato quando si risincronizza una sottoscrizione usando questo metodo. Questa stored procedure non viene usata per le sottoscrizioni di replica snapshot o per le sottoscrizioni di replica transazionale. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione o nel database di sottoscrizione del Sottoscrittore.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_resyncmergesubscription
[ [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
, [ @publication = ] N'publication'
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
, [ @resync_type = ] resync_type
[ , [ @resync_date_str = ] N'resync_date_str' ]
[ ; ]
Argomenti
[ @publisher = ] N'publisher'
Nome del server di pubblicazione. @publisher è sysname, con un valore predefinito .NULL
Un valore di NULL
è valido se la stored procedure viene eseguita nel server di pubblicazione. Se la stored procedure viene eseguita nel Sottoscrittore, è necessario specificare un server di pubblicazione.
[ @publisher_db = ] N'publisher_db'
Nome del database di pubblicazione. @publisher_db è sysname, con il valore predefinito NULL
. Il valore è NULL
valido se la stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione. Se la stored procedure viene eseguita nel Sottoscrittore, è necessario specificare un server di pubblicazione.
[ @publication = ] N'publication'
Nome della pubblicazione. @publication è sysname, senza impostazione predefinita.
[ @subscriber = ] N'subscriber'
Nome del Sottoscrittore. @subscriber è sysname, con il valore predefinito NULL
. Un valore di NULL
è valido se la stored procedure viene eseguita nel Sottoscrittore. Se la stored procedure viene eseguita nel server di pubblicazione, è necessario specificare un Sottoscrittore.
[ @subscriber_db = ] N'subscriber_db'
Nome del database di sottoscrizione. @subscriber_db è sysname, con un valore predefinito .NULL
Il valore è NULL
valido se la stored procedure viene eseguita nel Sottoscrittore nel database di sottoscrizione. Se la stored procedure viene eseguita nel server di pubblicazione, è necessario specificare un Sottoscrittore.
[ @resync_type = ] resync_type
Definisce l'avvio della risincronizzazione. @resync_type è int e può essere uno dei valori seguenti.
Valore | Descrizione |
---|---|
0 |
La sincronizzazione ha inizio dopo lo snapshot iniziale. Questa opzione è la più a elevato utilizzo di risorse, perché tutte le modifiche apportate dopo lo snapshot iniziale vengono riapplicate al Sottoscrittore. |
1 |
La sincronizzazione ha inizio dopo l'ultima convalida riuscita. Tutte le generazioni nuove o incomplete eseguite dopo l'ultima convalida riuscita vengono riapplicate nel Sottoscrittore. |
2 |
La sincronizzazione inizia dalla data specificata in resync_date_str. Tutte le generazioni nuove o incomplete eseguite dopo tale data vengono riapplicate nel Sottoscrittore. |
[ @resync_date_str = ] N'resync_date_str'
Definisce la data di inizio del processo di risincronizzazione. @resync_date_str è nvarchar(30), con il valore predefinito NULL
. Questo parametro viene usato quando il @resync_type è un valore di 2
. La data specificata viene convertita nel valore datetime equivalente.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_resyncmergesubscription
viene usato nella replica di tipo merge.
Un valore di per il parametro @resync_type, che riapplica tutte le modifiche dopo lo snapshot iniziale, potrebbe essere a elevato utilizzo di 0
risorse, ma probabilmente molto meno di una reinizializzazione completa. Se, ad esempio, lo snapshot iniziale è stato recapitato un mese fa, vengono riapplicati i dati relativi all'ultimo mese. Se lo snapshot iniziale contiene 1 gigabyte (GB) di dati, ma il numero di modifiche apportate dall'ultimo mese è costituito da 2 megabyte (MB) di dati modificati, sarebbe più efficiente riapplicare i dati che riapplicare lo snapshot completo di 1 GB.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin o il ruolo predefinito del database db_owner possono eseguire sp_resyncmergesubscription
.