Condividi tramite


Inizializzare una sottoscrizione transazionale da un backup

Si applica a: SQL Server

Anche se una sottoscrizione di una pubblicazione transazionale viene in genere inizializzata con uno snapshot, è possibile inizializzarla da un backup utilizzando le stored procedure di replica. Per altre informazioni, vedere Inizializzazione di una sottoscrizione transazionale senza uno snapshot.

Per inizializzare un Sottoscrittore transazionale da un backup

  1. Per una pubblicazione esistente, assicurarsi che la pubblicazione supporti la funzionalità di inizializzazione da backup eseguendo sp_helppublication (Transact-SQL) nel database di pubblicazione del server di pubblicazione. Si noti il valore di allow_initialize_from_backup nel set di risultati.

    • Se il valore è 1, la pubblicazione supporta questa funzionalità.

    • Se il valore è 0, eseguire sp_changepublication (Transact-SQL) nel database di pubblicazione nel server di pubblicazione. Specificare il valore allow_initialize_from_backup per @property e il valore true per @value.

  2. Per una nuova pubblicazione, eseguire sp_addpublication (Transact-SQL) nel database di pubblicazione nel server di pubblicazione. Specificare il valore true per allow_initialize_from_backup. Per altre informazioni, vedere Create a Publication.

    Avviso

    Per evitare la mancanza di dati del Sottoscrittore, quando si usa sp_addpublication o sp_changepublication con @allow_initialize_from_backup = N'true', usare sempre @immediate_sync = N'true'.

  3. Creare un backup del database di pubblicazione usando l'istruzione BACKUP (Transact-SQL).

  4. Ripristinare il backup nel Sottoscrittore usando l'istruzione RESTORE (Transact-SQL).

  5. Nel database di pubblicazione del server di pubblicazione eseguire la stored procedure sp_addsubscription (Transact-SQL). Specificare i seguenti parametri:

    • @sync_type: valore initialize with backup.

    • @backupdevicetype: tipo di dispositivo di backup, ovvero logical (impostazione predefinita), disk o tape.

    • @backupdevicename: dispositivo di backup logico o fisico da usare per il ripristino.

      Per un dispositivo logico, specificare il nome del dispositivo di backup indicato durante la creazione dello stesso tramite sp_addumpdevice .

      Per un dispositivo fisico, specificare un nome e un percorso completo di file, ad esempio DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat' o TAPE = '\\.\TAPE0'.

    • (Facoltativo) @password: password specificata durante la creazione del set di backup.

    • (Facoltativo) @mediapassword: password specificata durante la formattazione del set di supporti.

    • (Facoltativo) @fileidhint: identificatore per il set di backup da ripristinare. Ad esempio, 1 indica il primo set di backup sul supporto, mentre 2 indica il secondo set di backup.

    • (Facoltativo per i dispositivi a nastro) @unload: specificare il valore 1 (impostazione predefinita) se il nastro deve essere scaricato dall'unità al termine del ripristino e 0 in caso contrario.

  6. (Facoltativo) Per una sottoscrizione pull, eseguire sp_addpullsubscription (Transact-SQL) e sp_addpullsubscription_agent (Transact-SQL) nel database di sottoscrizione del Sottoscrittore. Per altre informazioni, vedere Creazione di una sottoscrizione pull.

  7. (Facoltativo) Avviare l'agente di distribuzione. Per ulteriori informazioni, vedere Synchronize a Pull Subscription o Synchronize a Push Subscription.