Cómo inicializar una suscripción transaccional en un copia de seguridad (programación de la replicación con Transact-SQL)

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, vea Inicializar una suscripción transaccional sin una instantánea.

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 la base de datos de publicación del publicador. 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 la base de datos de publicación del publicador. Especifique un valor de true para allow_initialize_from_backup. Para obtener más información, vea Cómo crear una publicación (programación de la replicación con Transact-SQL).

  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), disko tape.

    • @backupdevicename - dispositivo de copia de seguridad físico o lógico que se 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\MSSQL10_50.MSSQLSERVER\BACKUP\Mybackup.dat' o TAPE = '\\.\TAPE0'.

    • (Opcional) @password - una contraseña que se proporcionó cuando se creó el conjunto de copia de seguridad.

    • (Opcional) @mediapassword - una contraseña que se proporcionó cuando se dio 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 - especifica un valor de 1 (predeterminado) si la cinta debe descargarse de la unidad una vez completada la restauración y 0 si no debe descargarse.

  6. (Opcional) Para una suscripción de extracción, ejecute sp_addpullsubscription (Transact-SQL) y sp_addpullsubscription_agent (Transact-SQL) en la base de datos de suscripciones del suscriptor. Para obtener más información, vea Cómo crear una suscripción de extracción (programación de la replicación con Transact-SQL).

  7. (Opcional) Inicio el Agente de distribución. Para obtener más información, vea Cómo sincronizar una suscripción de extracción (programación de la replicación) o Cómo sincronizar una suscripción de inserción (programación de la replicación).