Condividi tramite


Inizializzazione manuale di una sottoscrizione

In questo argomento si descrive come inizializzare manualmente una sottoscrizione in SQL Server 2012 utilizzando SQL Server Management Studio o Transact-SQL. 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.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

  • Per inizializzare manualmente una sottoscrizione tramite:

    SQL Server Management Studio

    Transact-SQL

Prima di iniziare

Limitazioni e restrizioni

  • 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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Studio

Per inizializzare manualmente una sottoscrizione a una pubblicazione, copiare lo schema e, se necessario, i dati nel database di sottoscrizione. Lo schema e i dati devono corrispondere a quelli presenti nel database di pubblicazione. Specificare quindi che la sottoscrizione non richiede schema e dati nella pagina Inizializzazione sottoscrizioni della Creazione guidata nuova sottoscrizione. Per ulteriori informazioni su come accedere a questa procedura guidata, vedere Inizializzazione di una sottoscrizione transazionale senza uno snapshot e Creazione di una sottoscrizione pull.

Quando si sincronizza la sottoscrizione per la prima volta, gli oggetti e i metadati necessari per la replica vengono copiati nel database di sottoscrizione.

Per inizializzare manualmente una sottoscrizione a una pubblicazione

  1. Verificare che lo schema e i dati vengano copiati nel database di sottoscrizione.

  2. Deselezionare la casella di controllo Inizializza nella pagina Inizializzazione sottoscrizioni della Creazione guidata nuova sottoscrizione. Eseguire questa procedura per ogni sottoscrizione che richiede la copia solo degli oggetti e dei metadati di replica.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di Transact-SQL

È 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 Creazione di una sottoscrizione pull.

  3. Nel Sottoscrittore eseguire sp_addpullsubscription. Per le sottoscrizioni di aggiornamento, vedere Creazione di una sottoscrizione aggiornabile di una pubblicazione transazionale.

  4. Nel Sottoscrittore eseguire sp_addpullsubscription_agent. Per ulteriori informazioni, vedere Creazione di una sottoscrizione pull.

  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 Sincronizzazione di una sottoscrizione pull.

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 Creazione di una sottoscrizione aggiornabile di una pubblicazione transazionale.

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addpushsubscription_agent. Per ulteriori informazioni, vedere Creazione di una sottoscrizione push.

  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 Sincronizzazione di una sottoscrizione push.

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.

  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 Creazione di una sottoscrizione pull.

  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 Sincronizzazione di una sottoscrizione pull.

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.

  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 Creazione di una sottoscrizione push.

  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 Sincronizzazione di una sottoscrizione push.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Vedere anche

Concetti

Inizializzazione di una sottoscrizione transazionale senza uno snapshot

Backup e ripristino di database replicati

Procedure consigliate per la sicurezza della replica