Condividi tramite


Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica)

Anche se per inizializzare una sottoscrizione viene in genere utilizzato lo snapshot iniziale, è possibile inizializzare le sottoscrizioni di pubblicazioni senza uno snapshot, purché lo schema e i dati iniziali siano già presenti nel Sottoscrittore.

Nota importanteImportante

Se in un database pubblicato tramite la replica transazionale sono in corso delle attività nell'intervallo di tempo che intercorre tra la copia dei dati e dello schema nel Sottoscrittore e l'inizializzazione manuale della sottoscrizione, è possibile che le modifiche risultanti da tali attività non vengano replicate nel Sottoscrittore.

È possibile inizializzare manualmente le sottoscrizioni tramite le stored procedure di replica.

Per inizializzare manualmente una sottoscrizione pull di una pubblicazione transazionale

  1. Verificare che lo schema e i dati esistano nel database di sottoscrizione. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione transazionale senza uno snapshot.

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_addsubscription. Specificare @publication, @subscriber, il nome del database nel Sottoscrittore contenente i dati pubblicati per @destination_db, il valore pull per @subscription_type e il valore replication support only per @sync_type. Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione pull (programmazione Transact-SQL della replica).

  3. Nel Sottoscrittore eseguire sp_addpullsubscription. Per le sottoscrizioni di aggiornamento, vedere Procedura: Creazione di una sottoscrizione aggiornabile di una pubblicazione transazionale (programmazione Transact-SQL della replica).

  4. Nel Sottoscrittore eseguire sp_addpullsubscription_agent. Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione pull (programmazione Transact-SQL della replica).

  5. Avviare l'agente di distribuzione per trasferire gli oggetti di replica e scaricare le modifiche più recenti dal server di pubblicazione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica).

Per inizializzare manualmente una sottoscrizione push di una pubblicazione transazionale

  1. Verificare che lo schema e i dati esistano nel database di sottoscrizione. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione transazionale senza uno snapshot.

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_addsubscription. Specificare il nome del database nel Sottoscrittore contenente i dati pubblicati per @destination_db, il valore push per @subscription_type e il valore replication support only per @sync_type. Per le sottoscrizioni di aggiornamento, vedere Procedura: Creazione di una sottoscrizione aggiornabile di una pubblicazione transazionale (programmazione Transact-SQL della replica).

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addpushsubscription_agent. Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione push (programmazione Transact-SQL della replica).

  4. Avviare l'agente di distribuzione per trasferire gli oggetti di replica e scaricare le modifiche più recenti dal server di pubblicazione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).

Per inizializzare manualmente una sottoscrizione pull di una pubblicazione di tipo merge

  1. Verificare che lo schema e i dati esistano nel database di sottoscrizione. Questa verifica può essere eseguita ripristinando un backup del database di pubblicazione nel Sottoscrittore. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione di tipo merge senza snapshot.

  2. Nel server di pubblicazione eseguire sp_addmergesubscription. Specificare @publication, @subscriber, @subscriber_db e il valore pull per @subscription_type. In questo modo la sottoscrizione pull viene registrata.

  3. Nel database di sottoscrizione del Sottoscrittore contenente i dati pubblicati eseguire sp_addmergepullsubscription. Specificare il valore none per @sync_type.

  4. Nel Sottoscrittore eseguire sp_addmergepullsubscription_agent. Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione pull (programmazione Transact-SQL della replica).

  5. Avviare l'agente di merge per trasferire gli oggetti di replica e scaricare le modifiche più recenti dal server di pubblicazione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica).

Per inizializzare manualmente una sottoscrizione push di una pubblicazione di tipo merge

  1. Verificare che lo schema e i dati esistano nel database di sottoscrizione. Questa verifica può essere eseguita ripristinando un backup del database di pubblicazione nel Sottoscrittore. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione di tipo merge senza snapshot.

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergesubscription. Specificare il nome del database nel Sottoscrittore contenente i dati pubblicati per @subscriber_db, il valore push per @subscription_type e il valore none per @sync_type.

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergepushsubscription_agent. Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione push (programmazione Transact-SQL della replica).

  4. Avviare l'agente di merge per trasferire gli oggetti di replica e scaricare le modifiche più recenti dal server di pubblicazione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).