sp_resyncmergesubscription (Transact-SQL)

Risincronizza una sottoscrizione di tipo merge in base a uno stato di convalida noto specificato. In questo modo è possibile forzare la convergenza oppure sincronizzare il database di sottoscrizione fino a un momento specifico, ad esempio fino all'ultima convalida riuscita oppure fino a una data specificata. Quando si risincronizza una sottoscrizione in base a questa modalità, lo snapshot non viene riapplicato. Questa stored procedure non viene utilizzata per sottoscrizioni di replica snapshot o transazionali. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione o nel database di sottoscrizione del Sottoscrittore.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_resyncmergesubscription [ [ @publisher = ] 'publisher' ]
    [ , [ @publisher_db = ] 'publisher_db' ]
        , [ @publication = ] 'publication' 
    [ , [ @subscriber = ] 'subscriber' ]
    [ , [ @subscriber_db = ] 'subscriber_db' ]
    [ , [ @resync_type = ] resync_type ]
    [ , [ @resync_date_str = ] resync_date_string ]

Argomenti

  • [ @publisher= ] 'publisher'
    Nome del server di pubblicazione. publisher è di tipo sysname e il valore predefinito è NULL. Il valore 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 = ] 'publisher_db'
    Nome del database di pubblicazione. publisher_db è di tipo sysname e 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= ] 'publication'
    Nome della pubblicazione. publicationè di tipo sysname e non prevede alcun valore predefinito.
  • [ @subscriber = ] 'subscriber'
    Nome del Sottoscrittore. subscriber è di tipo sysname e il valore predefinito è NULL. Il valore 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=] 'subscriber_db'
    Nome del database di sottoscrizione. subscription_db è di tipo sysname e il valore predefinito è NULL. Il valore NULL è valido se la stored procedure viene eseguita nel database di sottoscrizione del Sottoscrittore. Se la stored procedure viene eseguita nel server di pubblicazione, è necessario specificare un Sottoscrittore.
  • [ @resync_type = ] resync_type
    Definisce quando avviare il processo di risincronizzazione. resync_type è di tipo int. I possibili valori sono i seguenti.

    Valore Descrizione

    0

    La sincronizzazione ha inizio dopo lo snapshot iniziale. Questa opzione comporta il maggior utilizzo di risorse, in quanto tutte le modifiche apportate dopo lo snapshot iniziale vengono riapplicate nel 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 ha inizio a partire dalla data specificata in resync_date_str. Tutte le generazioni nuove o incomplete eseguite dopo tale data vengono riapplicate nel Sottoscrittore.

  • [ @resync_date_str=] resync_date_string
    Definisce la data di inizio del processo di risincronizzazione. resync_date_string è di tipo nvarchar(30) e il valore predefinito è NULL. Questo parametro viene utilizzato quando resync_type è impostato sul valore 2. La data specificata viene convertita nel valore datetime equivalente.

Osservazioni

sp_resyncmergesubscription viene utilizzata per la replica di tipo merge.

L'impostazione di resync_type sul valore 0, che riapplica tutte le modifiche apportate dopo lo snapshot iniziale, comporta l'utilizzo di un numero elevato di risorse, che è comunque decisamente inferiore rispetto al numero di risorse richiesto da 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 i dati modificati nell'ultimo mese corrispondono a 2 megabyte (MB), risulta più efficiente riapplicare i dati anziché l'intero snapshot da 1 GB.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_resyncmergesubscription.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Vedere anche

Riferimento

Stored procedure di sistema (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005