Inicializar una suscripción transaccional desde una copia de seguridad

Se aplica a:SQL Server

Aunque una suscripción a una publicación transaccional se inicializa normalmente con una instantánea, también se puede inicializar desde una copia de seguridad mediante procedimientos almacenados de replicación. Para obtener más información, consulte Initialize a Transactional Subscription Without a Snapshot.

Para inicializar una suscripción transaccional desde una copia de seguridad

  1. En una publicación existente, asegúrese de que la publicación admite la capacidad de inicializarse desde la copia de seguridad ejecutando sp_helppublication (Transact-SQL) en la base de datos de publicación del publicador. Tenga en cuenta el valor de allow_initialize_from_backup en el conjunto de resultados.

    • Si el valor es 1, la publicación admite esta funcionalidad.

    • Si el valor es 0, ejecute sp_changepublication (Transact-SQL) en el Publicador de la base de datos de publicación. Especifique un valor de allow_initialize_from_backup para @property y un valor de true para @value.

  2. Para una nueva publicación, ejecute sp_addpublication (Transact-SQL) en el Publicador de la base de datos de publicación. Especifique un valor de true para allow_initialize_from_backup. Para obtener más información, vea Crear una suscripción.

    Advertencia

    Para evitar perder los datos del suscriptor, al utilizar sp_addpublication o sp_changepublication con @allow_initialize_from_backup = N'true', utilice siempre @immediate_sync = N'true'.

  3. Cree una copia de seguridad de la base de datos de publicación con la instrucción BACKUP (Transact-SQL).

  4. Restaure la copia de seguridad en el suscriptor con la instrucción RESTORE (Transact-SQL).

  5. En la base de datos de publicación del publicador, ejecute el procedimiento almacenado sp_addsubscription (Transact-SQL). Especifique los parámetros siguientes:

    • @sync_type: un valor de initialize with backup.

    • @backupdevicetype: el tipo de dispositivo de copia de seguridad: logical (predeterminado), disk o tape.

    • @backupdevicename: el dispositivo de copia de seguridad físico o lógico que se va a usar para la restauración.

      Para una unidad lógica, especifique el nombre del dispositivo de copia de seguridad especificado cuando se usó sp_addumpdevice para crear el dispositivo.

      Para un dispositivo físico, especifique una ruta de acceso y un nombre de archivo completos, como DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat' o TAPE = '\\.\TAPE0'.

    • (Opcional) @password: una contraseña que se ha proporcionado al crear el conjunto de copia de seguridad.

    • (Opcional) @mediapassword: una contraseña que se ha proporcionado al dar formato al conjunto de medios.

    • (Opcional) @fileidhint: el identificador para el conjunto de copia de seguridad que se va a restaurar. Por ejemplo, 1 indica el primer conjunto de copia de seguridad del medio de copia de seguridad y 2 indica el segundo conjunto de copia de seguridad.

    • (Opcional para los dispositivos de cinta) @unload: especifique un valor de 1 (predeterminado) si la cinta se debe descargar de la unidad una vez completada la restauración y de 0 si no se debe descargar.

  6. (Opcional) Para una suscripción de extracción, ejecute sp_addpullsubscription (Transact-SQL) y sp_addpullsubscription_agent (Transact-SQL) en el suscriptor de la base de datos de suscripción. Para obtener más información, consulte Create a Pull Subscription.

  7. (Opcional) Inicio el Agente de distribución. Para obtener más información, consulte Synchronize a Pull Subscription o Synchronize a Push Subscription.

Consulte también

Copiar bases de datos con Copias de seguridad y restauración
Copia de seguridad y restauración de bases de datos de SQL Server