Condividi tramite


Inizializzazione manuale di una sottoscrizione

Si applica a: SQL Server Istanza gestita di SQL di Azure

Questo argomento illustra come inizializzare manualmente una sottoscrizione in SQL Server usando 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.

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.

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 sull'accesso 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.

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 altre 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_typee il valore replication support only per @sync_type. Per altre informazioni, vedere Creazione di una sottoscrizione pull.

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

  4. Nel Sottoscrittore eseguire sp_addpullsubscription_agent. Per altre 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 altre 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 altre 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_typee il valore replication support only per @sync_type. Per le sottoscrizioni di aggiornamento, vedereCreare una sottoscrizione aggiornabile di una pubblicazione transazionale

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addpushsubscription_agent. Per altre 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 altre 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_dbe 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 altre 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 altre 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_typee il valore none per @sync_type.

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergepushsubscription_agent. Per altre 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 altre informazioni, vedere Sincronizzazione di una sottoscrizione push.