Inicializar una suscripción manualmente

Se aplica a:SQL ServerAzure SQL Managed Instance

En este tema se describe cómo inicializar una suscripción manualmente en SQL Server mediante SQL Server Management Studio o Transact-SQL. Aunque la instantánea inicial se usa normalmente para inicializar una suscripción, las suscripciones a las publicaciones se pueden inicializar sin utilizar una instantánea, con tal de que el esquema y los datos iniciales ya estén presentes en el suscriptor.

Antes de empezar

Limitaciones y restricciones

  • Si se produce actividad en una base de datos publicada con la replicación transaccional entre el momento en que se copian los datos y el esquema en el suscriptor y el momento en que se inicializa manualmente la suscripción, es posible que los cambios que resulten de dicha actividad no se repliquen en el suscriptor.

Uso de SQL Server Management Studio

Para inicializar manualmente una suscripción a una publicación copie el esquema (y, normalmente, los datos) en la base de datos de suscripciones. El esquema y los datos deben coincidir con la base de datos de publicaciones. A continuación, especifique que la suscripción no requiere esquema y datos en la página Inicializar suscripciones del Asistente para nuevas suscripciones. Para obtener más información sobre cómo utilizar este asistente, vea Initialize a Transactional Subscription Without a Snapshot y Create a Pull Subscription.

Al sincronizar la suscripción por primera vez, los objetos y metadatos requeridos por la replicación se copian en la base de datos de suscripciones.

Para inicializar una suscripción a una publicación manualmente

  1. Asegúrese de que el esquema y los datos están copiados en la base de datos de suscripciones.

  2. Desactive la casilla Inicializar en la página Inicializar suscripciones del Asistente para nuevas suscripciones. Haga esto con cada suscripción que requiera solo copiar metadatos y objetos de replicación.

Usar Transact-SQL

Las suscripciones se pueden inicializar manualmente con los procedimientos almacenados de replicación.

Para inicializar manualmente una suscripción de extracción a una publicación transaccional

  1. Asegúrese de que el esquema y los datos existen en la base de datos de suscripciones. Para obtener más información, consulte Initialize a Transactional Subscription Without a Snapshot.

  2. En el publicador de la base de datos de publicaciones, ejecute sp_addsubscription. Especifique @publication, @subscriber, el nombre de la base de datos del suscriptor que contiene los datos publicados para @destination_db, un valor de pull para @subscription_typey un valor de replication support only para @sync_type. Para obtener más información, consulte Create a Pull Subscription.

  3. En el suscriptor, ejecute sp_addpullsubscription. Para obtener más información acerca de las suscripciones de actualización, vea Create an Updatable Subscription to a Transactional Publication.

  4. En el suscriptor, ejecute sp_addpullsubscription_agent. Para obtener más información, consulte Create a Pull Subscription.

  5. Inicie el Agente de distribución para transferir los objetos de replicación y descargue los cambios más recientes del publicador. Para obtener más información, consulte Synchronize a Pull Subscription.

Para inicializar manualmente una suscripción de inserción a una publicación transaccional

  1. Asegúrese de que el esquema y los datos existen en la base de datos de suscripciones. Para obtener más información, consulte Initialize a Transactional Subscription Without a Snapshot.

  2. En el publicador de la base de datos de publicaciones, ejecute sp_addsubscription. Especifique el nombre de la base de datos del suscriptor que contiene los datos publicados para @destination_db, un valor de push para @subscription_typey un valor de replication support only para @sync_type. Para obtener más información acerca de las suscripciones de actualización, vea Create an Updatable Subscription to a Transactional Publication.

  3. En el publicador de la base de datos de publicaciones, ejecute sp_addpushsubscription_agent. Para obtener más información, consulte Create a Push Subscription.

  4. Inicie el Agente de distribución para transferir los objetos de replicación y descargue los cambios más recientes del publicador. Para obtener más información, consulte Synchronize a Push Subscription.

Para inicializar manualmente una suscripción de extracción a una publicación de combinación

  1. Asegúrese de que el esquema y los datos existen en la base de datos de suscripciones. Esto se puede hacer restaurando una copia de seguridad de la base de datos de publicación en el suscriptor.

  2. En el publicador, ejecute sp_addmergesubscription. Especifique @publication, @subscriber, @subscriber_dby el valor pull para @subscription_type. Esto registra la suscripción de extracción.

  3. En la base de datos del suscriptor que contiene los datos publicados, ejecute sp_addmergepullsubscription. Especifique un valor de none para @sync_type.

  4. En el suscriptor, ejecute sp_addmergepullsubscription_agent. Para obtener más información, consulte Create a Pull Subscription.

  5. Inicie el Agente de mezcla para transferir los objetos de replicación y descargue los cambios más recientes del publicador. Para obtener más información, consulte Synchronize a Pull Subscription.

Para inicializar manualmente una suscripción de inserción a una publicación de combinación

  1. Asegúrese de que el esquema y los datos existen en la base de datos de suscripciones. Esto se puede hacer restaurando una copia de seguridad de la base de datos de publicación en el suscriptor.

  2. En la base de datos de publicación del publicador, ejecute sp_addmergesubscription. Especifique el nombre de la base de datos del suscriptor que contiene los datos publicados para @subscriber_db, un valor de push para @subscription_typey un valor de none para @sync_type.

  3. En el publicador de la base de datos de publicaciones, ejecute sp_addmergepushsubscription_agent. Para obtener más información, consulte Create a Push Subscription.

  4. Inicie el Agente de mezcla para transferir los objetos de replicación y descargue los cambios más recientes del publicador. Para obtener más información, consulte Synchronize a Push Subscription.

Consulte también

Initialize a Transactional Subscription Without a Snapshot
Hacer copias de seguridad y restaurar bases de datos replicadas
Procedimientos recomendados de seguridad de replicación