Condividi tramite


Passare da una modalità di aggiornamento all'altra per una sottoscrizione transazionale aggiornabile

Si applica a: SQL Server

Questo argomento descrive come passare da una modalità di aggiornamento all'altra per una pubblicazione transazionale aggiornabile in SQL Server usando SQL Server Management Studio o Transact-SQL. Per specificare la modalità per le sottoscrizioni aggiornabili, utilizzare la Creazione guidata nuova sottoscrizione. Per informazioni sull'impostazione della modalità durante l'uso di questa procedura guidata, vedere Visualizzare e modificare le proprietà delle sottoscrizioni pull.

Contenuto dell'articolo

Prima di iniziare

Limitazioni e restrizioni

  • È possibile eseguire il failover dall'aggiornamento immediato a quello in coda in qualsiasi momento. In seguito, sarà tuttavia possibile tornare all'aggiornamento immediato solo dopo la connessione del Sottoscrittore e del server di pubblicazione e l'applicazione da parte dell'agente di lettura coda di tutti i messaggi in sospeso nella coda al server di pubblicazione.

Consigli

  • Se una sottoscrizione ad aggiornamento di una pubblicazione transazionale supporta il failover da una modalità di aggiornamento a un'altra, è possibile passare a livello programmatico tra le modalità di aggiornamento, al fine di gestire situazioni in cui la connettività cambia per un breve periodo di tempo. La modalità di aggiornamento può essere impostata a livello di programmazione e su richiesta utilizzando le stored procedure di replica. Per altre informazioni, vedere Updatable Subscriptions for Transactional Replication.

Utilizzo di SQL Server Management Studio

Nota

Per cambiare la modalità di aggiornamento dopo avere creato la sottoscrizione, è necessario impostare la proprietà update_mode sul valore failover , che consente di passare dall'aggiornamento immediato all'aggiornamento in coda, oppure sul valore queued failover , che consente di passare dall'aggiornamento in coda all'aggiornamento immediato, quando viene creata la sottoscrizione. Queste proprietà vengono impostate automaticamente nella Creazione guidata nuova sottoscrizione.

Per impostare la modalità di aggiornamento per una sottoscrizione push

  1. Connettersi al Sottoscrittore in SQL Server Management Studio e quindi espandere il nodo del server.

  2. Espandere la cartella Replica e quindi la cartella Sottoscrizioni locali .

  3. Fare clic con il pulsante destro del mouse sulla sottoscrizione per la quale si desidera impostare la modalità di aggiornamento e quindi scegliere Imposta metodo di aggiornamento.

  4. Nella finestra di dialogo Imposta metodo di aggiornamento - <Abbonato>: <SubscriptionDatabase>, selezionare Aggiornamento immediato o Aggiornamento in coda.

  5. Selezionare OK.

Per impostare la modalità di aggiornamento per una sottoscrizione pull

  1. Nella finestra di dialogo Proprietà sottoscrizione - <Server di pubblicazione>: <PublicationDatabase>, selezionare un valore di Replica le modifiche immediatamente o Accoda le modifiche per l'opzione Modalità di aggiornamento dell’abbonato.

  2. Seleziona OK.

Per altre informazioni sull'accesso alla finestra di dialogo Proprietà sottoscrizione - <Server di pubblicazione>: <PublicationDatabase>, vedere Visualizzare e modificare le proprietà delle sottoscrizioni pull.

Utilizzo di Transact-SQL

Per passare da una modalità di aggiornamento all'altra

  1. Verificare che la sottoscrizione supporti il failover eseguendo sp_helppullsubscription per una sottoscrizione pull o sp_helpsubscription per una sottoscrizione push. Se il valore di update mode nel set di risultati è 3 o 4, il failover è supportato.

  2. Nel database di sottoscrizione del Sottoscrittore eseguire sp_setreplfailovermode. Specificare i parametri @publisher, @publisher_db, @publicatione uno dei valori seguenti per @failover_mode.

    • queued : viene eseguito il failover all'aggiornamento in coda in caso di perdita temporanea della connettività.

    • immediate : viene eseguito il failover all'aggiornamento immediato quando la connettività viene ripristinata.