Share via


Inizializzazione di una sottoscrizione transazionale da un backup (programmazione Transact-SQL della replica)

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 possibilità di inizializzare dal backup eseguendo sp_helppublication (Transact-SQL) nel server di pubblicazione nel database 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 server di pubblicazione nel database di pubblicazione. Specificare un valore di allow_initialize_from_backup per @property e un valore di true per @value.

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

    Avviso

    Per evitare la mancanza di dati del Sottoscrittore, quando si utilizza sp_addpublication con @allow_initialize_from_backup = N'true', utilizzare 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).At the Publisher on the publication database, execute the stored procedure sp_addsubscription (Transact-SQL). Specificare i parametri seguenti:

    • @sync_type : valore initialize with backup.

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

    • @backupdevicename : dispositivo di backup logica o fisica da utilizzare 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\MSSQL12.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 Sottoscrittore nel database di sottoscrizione. 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.

Vedere anche

Copiare database tramite backup e ripristino
Backup e ripristino di database SQL Server